diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..f17311098 --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ +This file makes sure that Github Pages doesn't process mdBook's output. diff --git a/404.html b/404.html new file mode 100644 index 000000000..69cad5b15 --- /dev/null +++ b/404.html @@ -0,0 +1,218 @@ + + + + + + Page not found + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Document not found (404)

+

This URL is invalid, sorry. Please use the navigation bar or search to continue.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/FontAwesome/css/font-awesome.css b/FontAwesome/css/font-awesome.css new file mode 100644 index 000000000..540440ce8 --- /dev/null +++ b/FontAwesome/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/FontAwesome/fonts/FontAwesome.ttf b/FontAwesome/fonts/FontAwesome.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/FontAwesome/fonts/FontAwesome.ttf differ diff --git a/FontAwesome/fonts/fontawesome-webfont.eot b/FontAwesome/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/FontAwesome/fonts/fontawesome-webfont.eot differ diff --git a/FontAwesome/fonts/fontawesome-webfont.svg b/FontAwesome/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/FontAwesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FontAwesome/fonts/fontawesome-webfont.ttf b/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/FontAwesome/fonts/fontawesome-webfont.ttf differ diff --git a/FontAwesome/fonts/fontawesome-webfont.woff b/FontAwesome/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/FontAwesome/fonts/fontawesome-webfont.woff differ diff --git a/FontAwesome/fonts/fontawesome-webfont.woff2 b/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/FontAwesome/fonts/fontawesome-webfont.woff2 differ diff --git a/ayu-highlight.css b/ayu-highlight.css new file mode 100644 index 000000000..32c943222 --- /dev/null +++ b/ayu-highlight.css @@ -0,0 +1,78 @@ +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/book.js b/book.js new file mode 100644 index 000000000..aa12e7ecc --- /dev/null +++ b/book.js @@ -0,0 +1,697 @@ +"use strict"; + +// Fix back button cache problem +window.onunload = function () { }; + +// Global variable, shared between modules +function playground_text(playground, hidden = true) { + let code_block = playground.querySelector("code"); + + if (window.ace && code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + return editor.getValue(); + } else if (hidden) { + return code_block.textContent; + } else { + return code_block.innerText; + } +} + +(function codeSnippets() { + function fetch_with_timeout(url, options, timeout = 6000) { + return Promise.race([ + fetch(url, options), + new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)) + ]); + } + + var playgrounds = Array.from(document.querySelectorAll(".playground")); + if (playgrounds.length > 0) { + fetch_with_timeout("https://play.rust-lang.org/meta/crates", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + }) + .then(response => response.json()) + .then(response => { + // get list of crates available in the rust playground + let playground_crates = response.crates.map(item => item["id"]); + playgrounds.forEach(block => handle_crate_list_update(block, playground_crates)); + }); + } + + function handle_crate_list_update(playground_block, playground_crates) { + // update the play buttons after receiving the response + update_play_button(playground_block, playground_crates); + + // and install on change listener to dynamically update ACE editors + if (window.ace) { + let code_block = playground_block.querySelector("code"); + if (code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + editor.addEventListener("change", function (e) { + update_play_button(playground_block, playground_crates); + }); + // add Ctrl-Enter command to execute rust code + editor.commands.addCommand({ + name: "run", + bindKey: { + win: "Ctrl-Enter", + mac: "Ctrl-Enter" + }, + exec: _editor => run_rust_code(playground_block) + }); + } + } + } + + // updates the visibility of play button based on `no_run` class and + // used crates vs ones available on https://play.rust-lang.org + function update_play_button(pre_block, playground_crates) { + var play_button = pre_block.querySelector(".play-button"); + + // skip if code is `no_run` + if (pre_block.querySelector('code').classList.contains("no_run")) { + play_button.classList.add("hidden"); + return; + } + + // get list of `extern crate`'s from snippet + var txt = playground_text(pre_block); + var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g; + var snippet_crates = []; + var item; + while (item = re.exec(txt)) { + snippet_crates.push(item[1]); + } + + // check if all used crates are available on play.rust-lang.org + var all_available = snippet_crates.every(function (elem) { + return playground_crates.indexOf(elem) > -1; + }); + + if (all_available) { + play_button.classList.remove("hidden"); + } else { + play_button.classList.add("hidden"); + } + } + + function run_rust_code(code_block) { + var result_block = code_block.querySelector(".result"); + if (!result_block) { + result_block = document.createElement('code'); + result_block.className = 'result hljs language-bash'; + + code_block.append(result_block); + } + + let text = playground_text(code_block); + let classes = code_block.querySelector('code').classList; + let edition = "2015"; + if(classes.contains("edition2018")) { + edition = "2018"; + } else if(classes.contains("edition2021")) { + edition = "2021"; + } + var params = { + version: "stable", + optimize: "0", + code: text, + edition: edition + }; + + if (text.indexOf("#![feature") !== -1) { + params.version = "nightly"; + } + + result_block.innerText = "Running..."; + + fetch_with_timeout("https://play.rust-lang.org/evaluate.json", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + body: JSON.stringify(params) + }) + .then(response => response.json()) + .then(response => { + if (response.result.trim() === '') { + result_block.innerText = "No output"; + result_block.classList.add("result-no-output"); + } else { + result_block.innerText = response.result; + result_block.classList.remove("result-no-output"); + } + }) + .catch(error => result_block.innerText = "Playground Communication: " + error.message); + } + + // Syntax highlighting Configuration + hljs.configure({ + tabReplace: ' ', // 4 spaces + languages: [], // Languages used for auto-detection + }); + + let code_nodes = Array + .from(document.querySelectorAll('code')) + // Don't highlight `inline code` blocks in headers. + .filter(function (node) {return !node.parentElement.classList.contains("header"); }); + + if (window.ace) { + // language-rust class needs to be removed for editable + // blocks or highlightjs will capture events + code_nodes + .filter(function (node) {return node.classList.contains("editable"); }) + .forEach(function (block) { block.classList.remove('language-rust'); }); + + code_nodes + .filter(function (node) {return !node.classList.contains("editable"); }) + .forEach(function (block) { hljs.highlightBlock(block); }); + } else { + code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); + } + + // Adding the hljs class gives code blocks the color css + // even if highlighting doesn't apply + code_nodes.forEach(function (block) { block.classList.add('hljs'); }); + + Array.from(document.querySelectorAll("code.hljs")).forEach(function (block) { + + var lines = Array.from(block.querySelectorAll('.boring')); + // If no lines were hidden, return + if (!lines.length) { return; } + block.classList.add("hide-boring"); + + var buttons = document.createElement('div'); + buttons.className = 'buttons'; + buttons.innerHTML = ""; + + // add expand button + var pre_block = block.parentNode; + pre_block.insertBefore(buttons, pre_block.firstChild); + + pre_block.querySelector('.buttons').addEventListener('click', function (e) { + if (e.target.classList.contains('fa-eye')) { + e.target.classList.remove('fa-eye'); + e.target.classList.add('fa-eye-slash'); + e.target.title = 'Hide lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.remove('hide-boring'); + } else if (e.target.classList.contains('fa-eye-slash')) { + e.target.classList.remove('fa-eye-slash'); + e.target.classList.add('fa-eye'); + e.target.title = 'Show hidden lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.add('hide-boring'); + } + }); + }); + + if (window.playground_copyable) { + Array.from(document.querySelectorAll('pre code')).forEach(function (block) { + var pre_block = block.parentNode; + if (!pre_block.classList.contains('playground')) { + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var clipButton = document.createElement('button'); + clipButton.className = 'fa fa-copy clip-button'; + clipButton.title = 'Copy to clipboard'; + clipButton.setAttribute('aria-label', clipButton.title); + clipButton.innerHTML = ''; + + buttons.insertBefore(clipButton, buttons.firstChild); + } + }); + } + + // Process playground code blocks + Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) { + // Add play button + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var runCodeButton = document.createElement('button'); + runCodeButton.className = 'fa fa-play play-button'; + runCodeButton.hidden = true; + runCodeButton.title = 'Run this code'; + runCodeButton.setAttribute('aria-label', runCodeButton.title); + + buttons.insertBefore(runCodeButton, buttons.firstChild); + runCodeButton.addEventListener('click', function (e) { + run_rust_code(pre_block); + }); + + if (window.playground_copyable) { + var copyCodeClipboardButton = document.createElement('button'); + copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.innerHTML = ''; + copyCodeClipboardButton.title = 'Copy to clipboard'; + copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); + + buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); + } + + let code_block = pre_block.querySelector("code"); + if (window.ace && code_block.classList.contains("editable")) { + var undoChangesButton = document.createElement('button'); + undoChangesButton.className = 'fa fa-history reset-button'; + undoChangesButton.title = 'Undo changes'; + undoChangesButton.setAttribute('aria-label', undoChangesButton.title); + + buttons.insertBefore(undoChangesButton, buttons.firstChild); + + undoChangesButton.addEventListener('click', function () { + let editor = window.ace.edit(code_block); + editor.setValue(editor.originalCode); + editor.clearSelection(); + }); + } + }); +})(); + +(function themes() { + var html = document.querySelector('html'); + var themeToggleButton = document.getElementById('theme-toggle'); + var themePopup = document.getElementById('theme-list'); + var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var stylesheets = { + ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), + tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), + highlight: document.querySelector("[href$='highlight.css']"), + }; + + function showThemes() { + themePopup.style.display = 'block'; + themeToggleButton.setAttribute('aria-expanded', true); + themePopup.querySelector("button#" + get_theme()).focus(); + } + + function updateThemeSelected() { + themePopup.querySelectorAll('.theme-selected').forEach(function (el) { + el.classList.remove('theme-selected'); + }); + themePopup.querySelector("button#" + get_theme()).classList.add('theme-selected'); + } + + function hideThemes() { + themePopup.style.display = 'none'; + themeToggleButton.setAttribute('aria-expanded', false); + themeToggleButton.focus(); + } + + function get_theme() { + var theme; + try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { } + if (theme === null || theme === undefined) { + return default_theme; + } else { + return theme; + } + } + + function set_theme(theme, store = true) { + let ace_theme; + + if (theme == 'coal' || theme == 'navy') { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = false; + stylesheets.highlight.disabled = true; + + ace_theme = "ace/theme/tomorrow_night"; + } else if (theme == 'ayu') { + stylesheets.ayuHighlight.disabled = false; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = true; + ace_theme = "ace/theme/tomorrow_night"; + } else { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = false; + ace_theme = "ace/theme/dawn"; + } + + setTimeout(function () { + themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor; + }, 1); + + if (window.ace && window.editors) { + window.editors.forEach(function (editor) { + editor.setTheme(ace_theme); + }); + } + + var previousTheme = get_theme(); + + if (store) { + try { localStorage.setItem('mdbook-theme', theme); } catch (e) { } + } + + html.classList.remove(previousTheme); + html.classList.add(theme); + updateThemeSelected(); + } + + // Set theme + var theme = get_theme(); + + set_theme(theme, false); + + themeToggleButton.addEventListener('click', function () { + if (themePopup.style.display === 'block') { + hideThemes(); + } else { + showThemes(); + } + }); + + themePopup.addEventListener('click', function (e) { + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else if (e.target.parentElement.className === "theme") { + theme = e.target.parentElement.id; + } else { + return; + } + set_theme(theme); + }); + + themePopup.addEventListener('focusout', function(e) { + // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) + if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { + hideThemes(); + } + }); + + // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628 + document.addEventListener('click', function(e) { + if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { + hideThemes(); + } + }); + + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (!themePopup.contains(e.target)) { return; } + + switch (e.key) { + case 'Escape': + e.preventDefault(); + hideThemes(); + break; + case 'ArrowUp': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.previousElementSibling) { + li.previousElementSibling.querySelector('button').focus(); + } + break; + case 'ArrowDown': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.nextElementSibling) { + li.nextElementSibling.querySelector('button').focus(); + } + break; + case 'Home': + e.preventDefault(); + themePopup.querySelector('li:first-child button').focus(); + break; + case 'End': + e.preventDefault(); + themePopup.querySelector('li:last-child button').focus(); + break; + } + }); +})(); + +(function sidebar() { + var body = document.querySelector("body"); + var sidebar = document.getElementById("sidebar"); + var sidebarLinks = document.querySelectorAll('#sidebar a'); + var sidebarToggleButton = document.getElementById("sidebar-toggle"); + var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); + var firstContact = null; + + function showSidebar() { + body.classList.remove('sidebar-hidden') + body.classList.add('sidebar-visible'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', 0); + }); + sidebarToggleButton.setAttribute('aria-expanded', true); + sidebar.setAttribute('aria-hidden', false); + try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { } + } + + + var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); + + function toggleSection(ev) { + ev.currentTarget.parentElement.classList.toggle('expanded'); + } + + Array.from(sidebarAnchorToggles).forEach(function (el) { + el.addEventListener('click', toggleSection); + }); + + function hideSidebar() { + body.classList.remove('sidebar-visible') + body.classList.add('sidebar-hidden'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', -1); + }); + sidebarToggleButton.setAttribute('aria-expanded', false); + sidebar.setAttribute('aria-hidden', true); + try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { } + } + + // Toggle sidebar + sidebarToggleButton.addEventListener('click', function sidebarToggle() { + if (body.classList.contains("sidebar-hidden")) { + var current_width = parseInt( + document.documentElement.style.getPropertyValue('--sidebar-width'), 10); + if (current_width < 150) { + document.documentElement.style.setProperty('--sidebar-width', '150px'); + } + showSidebar(); + } else if (body.classList.contains("sidebar-visible")) { + hideSidebar(); + } else { + if (getComputedStyle(sidebar)['transform'] === 'none') { + hideSidebar(); + } else { + showSidebar(); + } + } + }); + + sidebarResizeHandle.addEventListener('mousedown', initResize, false); + + function initResize(e) { + window.addEventListener('mousemove', resize, false); + window.addEventListener('mouseup', stopResize, false); + body.classList.add('sidebar-resizing'); + } + function resize(e) { + var pos = (e.clientX - sidebar.offsetLeft); + if (pos < 20) { + hideSidebar(); + } else { + if (body.classList.contains("sidebar-hidden")) { + showSidebar(); + } + pos = Math.min(pos, window.innerWidth - 100); + document.documentElement.style.setProperty('--sidebar-width', pos + 'px'); + } + } + //on mouseup remove windows functions mousemove & mouseup + function stopResize(e) { + body.classList.remove('sidebar-resizing'); + window.removeEventListener('mousemove', resize, false); + window.removeEventListener('mouseup', stopResize, false); + } + + document.addEventListener('touchstart', function (e) { + firstContact = { + x: e.touches[0].clientX, + time: Date.now() + }; + }, { passive: true }); + + document.addEventListener('touchmove', function (e) { + if (!firstContact) + return; + + var curX = e.touches[0].clientX; + var xDiff = curX - firstContact.x, + tDiff = Date.now() - firstContact.time; + + if (tDiff < 250 && Math.abs(xDiff) >= 150) { + if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) + showSidebar(); + else if (xDiff < 0 && curX < 300) + hideSidebar(); + + firstContact = null; + } + }, { passive: true }); +})(); + +(function chapterNavigation() { + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (window.search && window.search.hasFocus()) { return; } + var html = document.querySelector('html'); + + function next() { + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + } + function prev() { + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + } + switch (e.key) { + case 'ArrowRight': + e.preventDefault(); + if (html.dir == 'rtl') { + prev(); + } else { + next(); + } + break; + case 'ArrowLeft': + e.preventDefault(); + if (html.dir == 'rtl') { + next(); + } else { + prev(); + } + break; + } + }); +})(); + +(function clipboard() { + var clipButtons = document.querySelectorAll('.clip-button'); + + function hideTooltip(elem) { + elem.firstChild.innerText = ""; + elem.className = 'fa fa-copy clip-button'; + } + + function showTooltip(elem, msg) { + elem.firstChild.innerText = msg; + elem.className = 'fa fa-copy tooltipped'; + } + + var clipboardSnippets = new ClipboardJS('.clip-button', { + text: function (trigger) { + hideTooltip(trigger); + let playground = trigger.closest("pre"); + return playground_text(playground, false); + } + }); + + Array.from(clipButtons).forEach(function (clipButton) { + clipButton.addEventListener('mouseout', function (e) { + hideTooltip(e.currentTarget); + }); + }); + + clipboardSnippets.on('success', function (e) { + e.clearSelection(); + showTooltip(e.trigger, "Copied!"); + }); + + clipboardSnippets.on('error', function (e) { + showTooltip(e.trigger, "Clipboard error!"); + }); +})(); + +(function scrollToTop () { + var menuTitle = document.querySelector('.menu-title'); + + menuTitle.addEventListener('click', function () { + document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); + }); +})(); + +(function controllMenu() { + var menu = document.getElementById('menu-bar'); + + (function controllPosition() { + var scrollTop = document.scrollingElement.scrollTop; + var prevScrollTop = scrollTop; + var minMenuY = -menu.clientHeight - 50; + // When the script loads, the page can be at any scroll (e.g. if you reforesh it). + menu.style.top = scrollTop + 'px'; + // Same as parseInt(menu.style.top.slice(0, -2), but faster + var topCache = menu.style.top.slice(0, -2); + menu.classList.remove('sticky'); + var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster + document.addEventListener('scroll', function () { + scrollTop = Math.max(document.scrollingElement.scrollTop, 0); + // `null` means that it doesn't need to be updated + var nextSticky = null; + var nextTop = null; + var scrollDown = scrollTop > prevScrollTop; + var menuPosAbsoluteY = topCache - scrollTop; + if (scrollDown) { + nextSticky = false; + if (menuPosAbsoluteY > 0) { + nextTop = prevScrollTop; + } + } else { + if (menuPosAbsoluteY > 0) { + nextSticky = true; + } else if (menuPosAbsoluteY < minMenuY) { + nextTop = prevScrollTop + minMenuY; + } + } + if (nextSticky === true && stickyCache === false) { + menu.classList.add('sticky'); + stickyCache = true; + } else if (nextSticky === false && stickyCache === true) { + menu.classList.remove('sticky'); + stickyCache = false; + } + if (nextTop !== null) { + menu.style.top = nextTop + 'px'; + topCache = nextTop; + } + prevScrollTop = scrollTop; + }, { passive: true }); + })(); + (function controllBorder() { + function updateBorder() { + if (menu.offsetTop === 0) { + menu.classList.remove('bordered'); + } else { + menu.classList.add('bordered'); + } + } + updateBorder(); + document.addEventListener('scroll', updateBorder, { passive: true }); + })(); +})(); diff --git a/clipboard.min.js b/clipboard.min.js new file mode 100644 index 000000000..02c549e35 --- /dev/null +++ b/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n .hljs { + color: var(--links); +} + +/* + body-container is necessary because mobile browsers don't seem to like + overflow-x on the body tag when there is a tag. +*/ +#body-container { + /* + This is used when the sidebar pushes the body content off the side of + the screen on small screens. Without it, dragging on mobile Safari + will want to reposition the viewport in a weird way. + */ + overflow-x: clip; +} + +/* Menu Bar */ + +#menu-bar, +#menu-bar-hover-placeholder { + z-index: 101; + margin: auto calc(0px - var(--page-padding)); +} +#menu-bar { + position: relative; + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-block-end-color: var(--bg); + border-block-end-width: 1px; + border-block-end-style: solid; +} +#menu-bar.sticky, +.js #menu-bar-hover-placeholder:hover + #menu-bar, +.js #menu-bar:hover, +.js.sidebar-visible #menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0 !important; +} +#menu-bar-hover-placeholder { + position: sticky; + position: -webkit-sticky; + top: 0; + height: var(--menu-bar-height); +} +#menu-bar.bordered { + border-block-end-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + padding: 0 8px; + z-index: 10; + line-height: var(--menu-bar-height); + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: 420px) { + #menu-bar i, #menu-bar .icon-button { + padding: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +.right-buttons { + margin: 0 15px; +} +.right-buttons a { + text-decoration: none; +} + +.left-buttons { + display: flex; + margin: 0 5px; +} +.no-js .left-buttons button { + display: none; +} + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 2.4rem; + line-height: var(--menu-bar-height); + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 0; + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s, background-color 0.5s; +} + +.nav-chapters:hover { + text-decoration: none; + background-color: var(--theme-hover); + transition: background-color 0.15s, color 0.15s; +} + +.nav-wrapper { + margin-block-start: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +/* Only Firefox supports flow-relative values */ +.previous { float: left; } +[dir=rtl] .previous { float: right; } + +/* Only Firefox supports flow-relative values */ +.next { + float: right; + right: var(--page-padding); +} +[dir=rtl] .next { + float: left; + right: unset; + left: var(--page-padding); +} + +/* Use the correct buttons for RTL layouts*/ +[dir=rtl] .previous i.fa-angle-left:before {content:"\f105";} +[dir=rtl] .next i.fa-angle-right:before { content:"\f104"; } + +@media only screen and (max-width: 1080px) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +/* sidebar-visible */ +@media only screen and (max-width: 1380px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; } + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline; + padding: 0.1em 0.3em; + border-radius: 3px; +} + +:not(pre):not(a) > .hljs { + color: var(--inline-code-color); + overflow-x: initial; +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + right: 0px; + top: 2px; + margin: 0px; + padding: 2px 0px; + + color: var(--sidebar-fg); + cursor: pointer; + visibility: hidden; + opacity: 0; + transition: visibility 0.1s linear, opacity 0.1s linear; +} +pre:hover > .buttons { + visibility: visible; + opacity: 1 +} +pre > .buttons :hover { + color: var(--sidebar-active); + border-color: var(--icons-hover); + background-color: var(--theme-hover); +} +pre > .buttons i { + margin-inline-start: 8px; +} +pre > .buttons button { + cursor: inherit; + margin: 0px 5px; + padding: 3px 5px; + font-size: 14px; + + border-style: solid; + border-width: 1px; + border-radius: 4px; + border-color: var(--icons); + background-color: var(--theme-popup-bg); + transition: 100ms; + transition-property: color,border-color,background-color; + color: var(--icons); +} +@media (pointer: coarse) { + pre > .buttons button { + /* On mobile, make it easier to tap buttons. */ + padding: 0.3rem 1rem; + } + + .sidebar-resize-indicator { + /* Hide resize indicator on devices with limited accuracy */ + display: none; + } +} +pre > code { + display: block; + padding: 1rem; +} + +/* FIXME: ACE editors overlap their buttons because ACE does absolute + positioning within the code block which breaks padding. The only solution I + can think of is to move the padding to the outer pre tag (or insert a div + wrapper), but that would require fixing a whole bunch of CSS rules. +*/ +.hljs.ace_editor { + padding: 0rem 0rem; +} + +pre > .result { + margin-block-start: 10px; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding-block-start: 0; + padding-block-end: 1px; + padding-inline-start: 3px; + padding-inline-end: 3px; + margin-block-start: 0; + margin-block-end: -1px; + margin-inline-start: -3px; + margin-inline-end: -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: auto; + margin-inline-end: auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding-block-start: 18px; + padding-block-end: 0; + padding-inline-start: 5px; + padding-inline-end: 0; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); + border-block-end: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-inline-start: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: 20px; + margin-inline-end: 0; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +[dir=rtl] .sidebar { left: unset; right: 0; } +.sidebar-resizing { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.no-js .sidebar, +.js:not(.sidebar-resizing) .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar .sidebar-scrollbox { + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 10px 10px; +} +.sidebar .sidebar-resize-handle { + position: absolute; + cursor: col-resize; + width: 0; + right: calc(var(--sidebar-resize-indicator-width) * -1); + top: 0; + bottom: 0; + display: flex; + align-items: center; +} + +.sidebar-resize-handle .sidebar-resize-indicator { + width: 100%; + height: 12px; + background-color: var(--icons); + margin-inline-start: var(--sidebar-resize-indicator-space); +} + +[dir=rtl] .sidebar .sidebar-resize-handle { + left: calc(var(--sidebar-resize-indicator-width) * -1); + right: unset; +} +.js .sidebar .sidebar-resize-handle { + cursor: col-resize; + width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)); +} +/* sidebar-hidden */ +#sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); + z-index: -1; +} +[dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +/* sidebar-visible */ +#sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); +} +@media only screen and (min-width: 620px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)); + } + [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + } +} + +.chapter { + list-style: none outside none; + padding-inline-start: 0; + line-height: 2.2em; +} + +.chapter ol { + width: 100%; +} + +.chapter li { + display: flex; + color: var(--sidebar-non-existant); +} +.chapter li a { + display: block; + padding: 0; + text-decoration: none; + color: var(--sidebar-fg); +} + +.chapter li a:hover { + color: var(--sidebar-active); +} + +.chapter li a.active { + color: var(--sidebar-active); +} + +.chapter li > a.toggle { + cursor: pointer; + display: block; + margin-inline-start: auto; + padding: 0 10px; + user-select: none; + opacity: 0.68; +} + +.chapter li > a.toggle div { + transition: transform 0.5s; +} + +/* collapse the section */ +.chapter li:not(.expanded) + li > ol { + display: none; +} + +.chapter li.chapter-item { + line-height: 1.5em; + margin-block-start: 0.6em; +} + +.chapter li.expanded > a.toggle div { + transform: rotate(90deg); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-inline-start: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + top: var(--menu-bar-height); + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; + /* Don't let the children's background extend past the rounded corners. */ + overflow: hidden; +} +[dir=rtl] .theme-popup { left: unset; right: 10px; } +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + width: 100%; + border: 0; + margin: 0; + padding: 2px 20px; + line-height: 25px; + white-space: nowrap; + text-align: start; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} + +.theme-selected::before { + display: inline-block; + content: "✓"; + margin-inline-start: -14px; + width: 14px; +} diff --git a/css/general.css b/css/general.css new file mode 100644 index 000000000..7670b087d --- /dev/null +++ b/css/general.css @@ -0,0 +1,232 @@ +/* Base styles and content styles */ + +:root { + /* Browser default font-size is 16px, this way 1 rem = 10px */ + font-size: 62.5%; + color-scheme: var(--color-scheme); +} + +html { + font-family: "Open Sans", sans-serif; + color: var(--fg); + background-color: var(--bg); + text-size-adjust: none; + -webkit-text-size-adjust: none; +} + +body { + margin: 0; + font-size: 1.6rem; + overflow-x: hidden; +} + +code { + font-family: var(--mono-font) !important; + font-size: var(--code-font-size); + direction: ltr !important; +} + +/* make long words/inline code not x overflow */ +main { + overflow-wrap: break-word; +} + +/* make wide tables scroll if they overflow */ +.table-wrapper { + overflow-x: auto; +} + +/* Don't change font size in headers. */ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: unset; +} + +.left { float: left; } +.right { float: right; } +.boring { opacity: 0.6; } +.hide-boring .boring { display: none; } +.hidden { display: none !important; } + +h2, h3 { margin-block-start: 2.5em; } +h4, h5 { margin-block-start: 2em; } + +.header + .header h3, +.header + .header h4, +.header + .header h5 { + margin-block-start: 1em; +} + +h1:target::before, +h2:target::before, +h3:target::before, +h4:target::before, +h5:target::before, +h6:target::before { + display: inline-block; + content: "»"; + margin-inline-start: -30px; + width: 30px; +} + +/* This is broken on Safari as of version 14, but is fixed + in Safari Technology Preview 117 which I think will be Safari 14.2. + https://bugs.webkit.org/show_bug.cgi?id=218076 +*/ +:target { + /* Safari does not support logical properties */ + scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); +} + +.page { + outline: 0; + padding: 0 var(--page-padding); + margin-block-start: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ +} +.page-wrapper { + box-sizing: border-box; + background-color: var(--bg); +} +.no-js .page-wrapper, +.js:not(.sidebar-resizing) .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} +[dir=rtl] .js:not(.sidebar-resizing) .page-wrapper { + transition: margin-right 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 5px 50px 5px; +} +.content main { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} +.content p { line-height: 1.45em; } +.content ol { line-height: 1.45em; } +.content ul { line-height: 1.45em; } +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img, .content video { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} +table td { + padding: 3px 20px; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); +} +table thead td { + font-weight: 700; + border: none; +} +table thead th { + padding: 3px 20px; +} +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + padding: 0 20px; + color: var(--fg); + background-color: var(--quote-bg); + border-block-start: .1em solid var(--quote-border); + border-block-end: .1em solid var(--quote-border); +} + +.warning { + margin: 20px; + padding: 0 20px; + border-inline-start: 2px solid var(--warning-border); +} + +.warning:before { + position: absolute; + width: 3rem; + height: 3rem; + margin-inline-start: calc(-1.5rem - 21px); + content: "ⓘ"; + text-align: center; + background-color: var(--bg); + color: var(--warning-border); + font-weight: bold; + font-size: 2rem; +} + +blockquote .warning:before { + background-color: var(--quote-bg); +} + +kbd { + background-color: var(--table-border-color); + border-radius: 4px; + border: solid 1px var(--theme-popup-border); + box-shadow: inset 0 -1px 0 var(--theme-hover); + display: inline-block; + font-size: var(--code-font-size); + font-family: var(--mono-font); + line-height: 10px; + padding: 4px 5px; + vertical-align: middle; +} + +:not(.footnote-definition) + .footnote-definition, +.footnote-definition + :not(.footnote-definition) { + margin-block-start: 2em; +} +.footnote-definition { + font-size: 0.9em; + margin: 0.5em 0; +} +.footnote-definition p { + display: inline; +} + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + +.chapter li.part-title { + color: var(--sidebar-fg); + margin: 5px 0px; + font-weight: bold; +} + +.result-no-output { + font-style: italic; +} diff --git a/css/print.css b/css/print.css new file mode 100644 index 000000000..80ec3a544 --- /dev/null +++ b/css/print.css @@ -0,0 +1,50 @@ + +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none !important; + margin-inline-start: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + direction: ltr !important; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; +} diff --git a/css/variables.css b/css/variables.css new file mode 100644 index 000000000..0da55e8c9 --- /dev/null +++ b/css/variables.css @@ -0,0 +1,279 @@ + +/* Globals */ + +:root { + --sidebar-width: 300px; + --sidebar-resize-indicator-width: 8px; + --sidebar-resize-indicator-space: 2px; + --page-padding: 15px; + --content-max-width: 750px; + --menu-bar-height: 50px; + --mono-font: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; + --code-font-size: 0.875em /* please adjust the ace font size accordingly in editor.js */ +} + +/* Themes */ + +.ayu { + --bg: hsl(210, 25%, 8%); + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; + + --color-scheme: dark; +} + +.coal { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + + --color-scheme: dark; +} + +.light { + --bg: hsl(0, 0%, 100%); + --fg: hsl(0, 0%, 0%); + + --sidebar-bg: #fafafa; + --sidebar-fg: hsl(0, 0%, 0%); + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #1f1fff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #8F8F8F; + + --icons: #747474; + --icons-hover: #000000; + + --links: #20609f; + + --inline-code-color: #301900; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: hsl(197, 37%, 96%); + --quote-border: hsl(197, 37%, 91%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(0, 0%, 95%); + --table-header-bg: hsl(0, 0%, 80%); + --table-alternate-bg: hsl(0, 0%, 97%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; + + --color-scheme: light; +} + +.navy { + --bg: hsl(226, 23%, 11%); + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(226, 23%, 16%); + --table-header-bg: hsl(226, 23%, 31%); + --table-alternate-bg: hsl(226, 23%, 14%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; + + --color-scheme: dark; +} + +.rust { + --bg: hsl(60, 9%, 87%); + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: hsl(60, 5%, 75%); + --quote-border: hsl(60, 5%, 70%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(60, 9%, 82%); + --table-header-bg: #b3a497; + --table-alternate-bg: hsl(60, 9%, 84%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; + + --color-scheme: light; +} + +@media (prefers-color-scheme: dark) { + .light.no-js { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + } +} diff --git a/elasticlunr.min.js b/elasticlunr.min.js new file mode 100644 index 000000000..94b20dd2e --- /dev/null +++ b/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o + + + + + Background - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Background

+

What's a microcontroller?

+

A microcontroller is a system on a chip. Whereas your computer is made up of several discrete +components: a processor, RAM sticks, a hard drive, an ethernet port, etc.; a microcontroller +has all those components built into a single "chip" or package. This makes it possible to +build systems with a minimal part count.

+

What can you do with a microcontroller?

+

Lots of things! Microcontrollers are the central part of systems known as embedded systems. +These systems are everywhere but you don't usually notice them. These systems control the brakes +of your car, wash your clothes, print your documents, keep you warm, keep you cool, optimize the +fuel consumption of your car, etc.

+

The main trait of these systems is that they operate without user intervention even if they expose a +user interface as a washing machine does; most of their operation is done on their own.

+

The other common trait of these systems is that they control a process. And for that these systems +usually have one or more sensors and one or more actuators. For example, an HVAC system has several +sensors, thermometers, and humidity sensors spread across some areas, and several actuators as well, +heating elements and fans connected to ducts.

+

When should I use a microcontroller?

+

All these applications I've mentioned, you can probably implement with a Raspberry Pi, a computer +that runs Linux. Why should I bother with a microcontroller that operates without an OS? Sounds +like it would be harder to develop a program.

+

The main reason is cost. A microcontroller is much cheaper than a general-purpose computer. Not only +the microcontroller is cheaper; it also requires many fewer external electrical components to operate. +This makes Printed Circuit Boards (PCBs) smaller and cheaper to design and manufacture.

+

The other big reason is power consumption. A microcontroller consumes orders of magnitude less power +than a full-blown processor. If your application will run on batteries that makes a huge difference.

+

And last but not least: (hard) real-time constraints. Some processes require their controllers to +respond to some events within some time interval (e.g. a quadcopter/drone hit by a wind gust). If this +deadline is not met, the process could end in catastrophic failure (e.g. the drone crashes to the +ground). A general-purpose computer running a general-purpose OS has many services running in the +background. This makes it hard to guarantee the execution of a program within tight time constraints.

+

When should I not use a microcontroller?

+

Where heavy computations are involved. To keep their power consumption low, microcontrollers have very +limited computational resources available to them. For example, some microcontrollers don't even have +hardware support for floating-point operations. On those devices, performing a simple addition of +single-precision numbers can take hundreds of CPU cycles.

+

Why use Rust and not C?

+

Hopefully, I don't need to convince you here as you are probably familiar with the language +differences between Rust and C. One point I do want to bring up is package management. C lacks an +official, widely accepted package management solution whereas Rust has Cargo. This makes development +much easier. And, IMO, easy package management encourages code reuse because libraries can be +easily integrated into an application which is also a good thing as libraries get more "battle testing".

+

Why should I not use Rust?

+

Or why should I prefer C over Rust?

+

The C ecosystem is way more mature. Off the shelf solution for several problems already exist. If you +need to control a time-sensitive process, you can grab one of the existing commercial Real-Time Operating +Systems (RTOS) out there and solve your problem. There are no commercial, production-grade RTOSes in Rust +yet so you would have to either create one yourself or try one of the ones that are in development.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/02-requirements/index.html b/f3discovery/02-requirements/index.html new file mode 100644 index 000000000..4a19198e7 --- /dev/null +++ b/f3discovery/02-requirements/index.html @@ -0,0 +1,319 @@ + + + + + + Hardware/knowledge requirements - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Hardware/knowledge requirements

+

The primary knowledge requirement to read this book is to know some Rust. It's +hard for me to quantify some but at least I can tell you that you don't need +to fully grok generics but you do need to know how to use closures. You also +need to be familiar with the idioms of the 2018 edition, in particular with +the fact that extern crate is not necessary in the 2018 edition.

+

Due to the nature of embedded programming, it will also be extremely helpful to +understand how binary and hexadecimal representations of values work, as well +as the use of some bitwise operators. For example, it would be useful to +understand how the following program produces its output.

+
fn main() {
+    let a = 0x4000_0000 + 0xa2;
+
+    // Use of the bit shift "<<" operation.
+    let b = 1 << 5;
+
+    // {:X} will format values as hexadecimal
+    println!("{:X}: {:X}", a, b);
+}
+

Also, to follow this material you'll need the following hardware:

+

(Some components are optional but recommended)

+ +

(You can purchase this board from "big" electronics suppliers or from e-commerce +sites)

+

+ +

+
    +
  • OPTIONAL. A 3.3V USB <-> Serial module. To elaborate: if you have one of +the latest revisions of the discovery board (which is usually the case given +the first revision was released years ago) then you do not need this module +because the board includes this functionality on-board. If you have an older +revision of the board then you'll need this module for chapters 10 and 11. For +completeness, we'll include instructions for using a Serial module. The book +will use this particular model but you can use any other model as +long as it operates at 3.3V. The CH340G module, which you can buy +from e-commerce sites works too and it's probably cheaper for you to get.
  • +
+

+ +

+
    +
  • OPTIONAL. A HC-05 Bluetooth module (with headers!). A HC-06 would work too.
  • +
+

(As with other Chinese parts, you pretty much can only find these on e-commerce sites. +(US) Electronics suppliers don't usually stock these for some reason)

+

+ +

+
    +
  • Two mini-B USB cables. One is required to make the STM32F3DISCOVERY board work. The other is only +required if you have the Serial <-> USB module. Make sure that the cables both +support data transfer as some cables only support charging devices.
  • +
+

+ +

+
+

NOTE These are not the USB cables that ship with pretty much every Android phone; those +are micro USB cables. Make sure you have the right thing!

+
+
    +
  • MOSTLY OPTIONAL. 5 female to female, 4 male to female and 1 Male to Male jumper (AKA Dupont) +wires. You'll very likely need one female to female to get ITM working. The other wires are only +needed if you'll be using the USB <-> Serial and Bluetooth modules.
  • +
+

(You can get these from electronics suppliers or from e-commerce sites)

+

+ +

+
+

FAQ: Wait, why do I need this specific hardware?

+
+

It makes my life and yours much easier.

+

The material is much, much more approachable if we don't have to worry about hardware differences. +Trust me on this one.

+
+

FAQ: Can I follow this material with a different development board?

+
+

Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or +whether there already exists a high level crate, like the f3, for your development board +somewhere.

+

With a different development board, this text would lose most if not all its beginner friendliness +and "easy to follow"-ness, IMO.

+

If you have a different development board and you don't consider yourself a total beginner, you are +better off starting with the quickstart project template.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/03-setup/index.html b/f3discovery/03-setup/index.html new file mode 100644 index 000000000..d6172963e --- /dev/null +++ b/f3discovery/03-setup/index.html @@ -0,0 +1,358 @@ + + + + + + Setting up a development environment - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Setting up a development environment

+

Dealing with microcontrollers involves several tools as we'll be dealing with an architecture +different than your computer's and we'll have to run and debug programs on a "remote" device.

+

Documentation

+

Tooling is not everything though. Without documentation it is pretty much impossible to work with +microcontrollers.

+

We'll be referring to all these documents throughout this book:

+

HEADS UP All these links point to PDF files and some of them are hundreds of pages long and +several MBs in size.

+ +

* NOTE: Newer (from around 2020/09) Discovery boards may have a different e-compass and gyroscope (see the user manual). +As such, much in chapters 14-16 will not work as is. +Checkout the github issues like this.

+

Tools

+

We'll use all the tools listed below. Where a minimum version is not specified, any recent version +should work but we have listed the version we have tested.

+
    +
  • +

    Rust 1.31 or a newer toolchain. Chapter USART +requires 1.51 or newer.

    +
  • +
  • +

    itmdump >=0.3.1 (cargo install itm). Tested versions: 0.3.1.

    +
  • +
  • +

    OpenOCD >=0.8. Tested versions: v0.9.0 and v0.10.0

    +
  • +
  • +

    arm-none-eabi-gdb. Version 7.12 or newer highly recommended. Tested versions: 7.10, 7.11, +7.12 and 8.1

    +
  • +
  • +

    cargo-binutils. Version 0.1.4 or newer.

    +
  • +
+
    +
  • +

    minicom on Linux and macOS. Tested version: 2.7. Readers report that picocom also works but +we'll use minicom in this text.

    +
  • +
  • +

    PuTTY on Windows.

    +
  • +
+

If your computer has Bluetooth functionality and you have the Bluetooth module, you can additionally +install these tools to play with the Bluetooth module. All these are optional:

+
    +
  • Linux, only if you don't have a Bluetooth manager application like Blueman. +
      +
    • bluez
    • +
    • hcitool
    • +
    • rfcomm
    • +
    • rfkill
    • +
    +
  • +
+

macOS / OSX / Windows users only need the default bluetooth manager that ships with their OS.

+

Next, follow OS-agnostic installation instructions for a few of the tools:

+

rustc & Cargo

+

Install rustup by following the instructions at https://rustup.rs.

+

If you already have rustup installed double check that you are on the stable +channel and your stable toolchain is up to date. rustc -V should return a date +newer than the one shown below:

+
$ rustc -V
+rustc 1.31.0 (abe02cefd 2018-12-04)
+
+

itmdump

+
cargo install itm
+
+

Verify the version is >=0.3.1

+
$ itmdump -V
+itmdump 0.3.1
+
+

cargo-binutils

+

Install llvm-tools

+
rustup component add llvm-tools
+
+

Install cargo-binutils

+
cargo install cargo-binutils
+
+

Verify tools are installed

+

Run the following commands at your terminal

+
cargo new test-size
+
+
cd test-size
+
+
cargo run
+
+
cargo size -- --version
+
+

The results should be something like:

+
~
+$ cargo new test-size
+     Created binary (application) `test-size` package
+
+~
+$ cd test-size
+
+~/test-size (main)
+$ cargo run
+   Compiling test-size v0.1.0 (~/test-size)
+    Finished dev [unoptimized + debuginfo] target(s) in 0.26s
+     Running `target/debug/test-size`
+Hello, world!
+
+~/test-size (main)
+$ cargo size -- --version
+    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
+LLVM (http://llvm.org/):
+  LLVM version 11.0.0-rust-1.50.0-stable
+  Optimized build.
+  Default target: x86_64-unknown-linux-gnu
+  Host CPU: znver2
+
+

OS specific instructions

+

Now follow the instructions specific to the OS you are using:

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/03-setup/linux.html b/f3discovery/03-setup/linux.html new file mode 100644 index 000000000..c6ae6e72b --- /dev/null +++ b/f3discovery/03-setup/linux.html @@ -0,0 +1,349 @@ + + + + + + Linux - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Linux

+

Here are the installation commands for a few Linux distributions.

+

REQUIRED packages

+

Ubuntu 18.04 or newer / Debian stretch or newer

+
+

NOTE gdb-multiarch is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+ + + + + + +
sudo apt-get install \
+  gdb-multiarch \
+  minicom \
+  openocd
+
+

Ubuntu 14.04 and 16.04

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+ + + +
sudo apt-get install \
+  gdb-arm-none-eabi \
+  minicom \
+  openocd
+
+

Fedora 23 or newer

+
sudo dnf install \
+  minicom \
+  openocd \
+  gdb
+
+

Arch Linux

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
sudo pacman -S \
+  arm-none-eabi-gdb \
+  minicom \
+  openocd
+
+

Other distros

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+

For distros that don't have packages for ARM's pre-built +toolchain, +download the "Linux 64-bit" file and put its bin directory on your path. +Here's one way to do it:

+
mkdir -p ~/local && cd ~/local
+
+
tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
+
+

Then, use your editor of choice to append to your PATH in the appropriate +shell init file (e.g. ~/.zshrc or ~/.bashrc):

+
PATH=$PATH:$HOME/local/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux/bin
+
+

Optional packages

+

Ubuntu / Debian

+
sudo apt-get install \
+  bluez \
+  rfkill
+
+

Fedora

+
sudo dnf install \
+  bluez \
+  rfkill
+
+

Arch Linux

+
sudo pacman -S \
+  bluez \
+  bluez-utils \
+  rfkill
+
+

udev rules

+

These rules let you use USB devices like the F3 and the Serial module without root privilege, i.e. +sudo.

+

Create 99-openocd.rules in /etc/udev/rules.d using the idVendor and idProduct +from the lsusb output.

+

For example, connect the STM32F3DISCOVERY to your computer using a USB cable. +Be sure to connect the cable to the "USB ST-LINK" port, the USB port in the +center of the edge of the board.

+

Execute lsusb:

+
lsusb | grep ST-LINK
+
+

It should result in something like:

+
$ lsusb | grep ST-LINK
+Bus 003 Device 003: ID 0483:374b STMicroelectronics ST-LINK/V2.1
+
+

So the idVendor is 0483 and idProduct is 374b.

+

Create /etc/udev/rules.d/99-openocd.rules:

+
sudo vi /etc/udev/rules.d/99-openocd.rules
+
+

With the contents:

+
# STM32F3DISCOVERY - ST-LINK/V2.1
+ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE:="0666"
+
+

For older devices with OPTIONAL USB <-> FT232 based Serial Module

+

Create /etc/udev/rules.d/99-ftdi.rules:

+
sudo vi /etc/udev/rules.d/99-openocd.rules
+
+

With the contents:

+
# FT232 - USB <-> Serial Converter
+ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
+
+

Reload the udev rules with:

+
sudo udevadm control --reload-rules
+
+

If you had any board plugged to your computer, unplug them and then plug them in again.

+

Now, go to the next section.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/03-setup/macos.html b/f3discovery/03-setup/macos.html new file mode 100644 index 000000000..ab03c6070 --- /dev/null +++ b/f3discovery/03-setup/macos.html @@ -0,0 +1,240 @@ + + + + + + macOS - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

macOS

+

All the tools can be installed using Homebrew:

+
$ # ARM GCC debugger
+$ brew install arm-none-eabi-gdb
+
+$ # Minicom and OpenOCD
+$ brew install minicom openocd
+
+

That's all! Go to the next section.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/03-setup/verify.html b/f3discovery/03-setup/verify.html new file mode 100644 index 000000000..cead2b2c1 --- /dev/null +++ b/f3discovery/03-setup/verify.html @@ -0,0 +1,328 @@ + + + + + + Verify the installation - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Verify the installation

+

Let's verify that all the tools were installed correctly.

+

Linux only

+

Verify permissions

+

Connect the STM32F3DISCOVERY to your computer using an USB cable. Be sure to connect the cable to the "USB ST-LINK" +port, the USB port in the center of the edge of the board.

+

The STM32F3DISCOVERY should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got +enumerated:

+
lsusb | grep -i stm
+
+

This should result in:

+
$ lsusb | grep -i stm
+Bus 003 Device 004: ID 0483:374b STMicroelectronics ST-LINK/V2.1
+$ # ^^^        ^^^
+
+

In my case, the STM32F3DISCOVERY got connected to the bus #3 and got enumerated as the device #4. This means the +file /dev/bus/usb/003/004 is the STM32F3DISCOVERY. Let's check its permissions:

+
$ ls -la /dev/bus/usb/003/004
+crw-rw-rw-+ 1 root root 189, 259 Feb 28 13:32 /dev/bus/usb/003/00
+
+

The permissions should be crw-rw-rw-. If it's not ... then check your udev +rules and try re-loading them with:

+
sudo udevadm control --reload-rules
+
+

For older devices with OPTIONAL USB <-> FT232 based Serial Module

+

Unplug the STM32F3DISCOVERY and plug the Serial module. Now, figure out what's its associated file:

+
$ lsusb | grep -i ft232
+Bus 003 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
+
+

In my case, it's the /dev/bus/usb/003/005. Now, check its permissions:

+
$ ls -l /dev/bus/usb/003/005
+crw-rw-rw- 1 root root 189, 21 Sep 13 00:00 /dev/bus/usb/003/005
+
+

As before, the permissions should be crw-rw-rw-.

+

Verify OpenOCD connection

+

Connect the STM32F3DISCOVERY using the USB cable to the USB port in the +center of edge of the board, the one that's labeled "USB ST-LINK".

+

Two red LEDs should turn on right after connecting the USB cable to the board.

+
+

IMPORTANT There is more than one hardware revision of the STM32F3DISCOVERY board. For older +revisions, you'll need to change the "interface" argument to -f interface/stlink-v2.cfg (note: +no -1 at the end). Alternatively, older revisions can use -f board/stm32f3discovery.cfg +instead of -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg.

+
+
+

NOTE OpenOCD v0.11.0 has deprecated interface/stlink-v2.cfg in favor of +interface/stlink.cfg which supports ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, and +ST-LINK/V3.

+
+

*Nix

+
+

FYI: The interface directory is typically located in /usr/share/openocd/scripts/, +which is the default location OpenOCD expects these files. If you've installed them +somewhere else use the -s /path/to/scripts/ option to specify your install directory.

+
+
openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+

or

+
openocd -f interface/stlink.cfg -f target/stm32f3x.cfg
+
+

Windows

+

Below the references to C:\OpenOCD is the directory where OpenOCD is installed.

+
openocd -s C:\OpenOCD\share\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+
+

NOTE cygwin users have reported problems with the -s flag. If you run into +that problem you can add C:\OpenOCD\share\scripts\ directory to the parameters.

+
+

cygwin users:

+
openocd -f C:\OpenOCD\share\scripts\interface\stlink-v2-1.cfg -f C:\OpenOCD\share\scripts\target\stm32f3x.cfg
+
+

All

+

OpenOCD is a service which forwards debug information from the ITM channel +to a file, itm.txt, as such it runs forever and does not return to the +terminal prompt.

+

The initial output of OpenOCD is something like:

+
Open On-Chip Debugger 0.10.0
+Licensed under GNU GPL v2
+For bug reports, read
+        http://openocd.org/doc/doxygen/bugs.html
+Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
+adapter speed: 1000 kHz
+adapter_nsrst_delay: 100
+Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
+none separate
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : clock speed 950 kHz
+Info : STLINK v2 JTAG v27 API v2 SWIM v15 VID 0x0483 PID 0x374B
+Info : using stlink api v2
+Info : Target voltage: 2.915608
+Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
+
+

(If you don't ... then check the general troubleshooting instructions.)

+

Also, one of the red LEDs, the one closest to the USB port, should start oscillating between red +light and green light.

+

That's it! It works. You can now use Ctrl-c to stop OpenOCD or close/kill the terminal.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/03-setup/windows.html b/f3discovery/03-setup/windows.html new file mode 100644 index 000000000..b5e1a5c90 --- /dev/null +++ b/f3discovery/03-setup/windows.html @@ -0,0 +1,264 @@ + + + + + + Windows - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Windows

+

arm-none-eabi-gdb

+

ARM provides .exe installers for Windows. Grab one from here, and follow the instructions. +Just before the installation process finishes tick/select the "Add path to environment variable" +option. Then verify that the tools are in your %PATH%:

+

Verify gcc is installed:

+
arm-none-eabi-gcc -v
+
+

The results should be something like:

+
(..)
+$ arm-none-eabi-gcc -v
+gcc version 5.4.1 20160919 (release) (..)
+
+

OpenOCD

+

There's no official binary release of OpenOCD for Windows but there are unofficial releases +available here. Grab the 0.10.x zipfile and extract it somewhere in your drive (I +recommend C:\OpenOCD but with the drive letter that makes sense to you) then update your %PATH% +environment variable to include the following path: C:\OpenOCD\bin (or the path that you used +before).

+

Verify OpenOCD is installed and in your %PATH% with:

+
openocd -v
+
+

The results should be something like:

+
$ openocd -v
+Open On-Chip Debugger 0.10.0
+(..)
+
+

PuTTY

+

Download the latest putty.exe from this site and place it somewhere in your %PATH%.

+ +

You'll also need to install this USB driver or OpenOCD won't work. Follow the installer +instructions and make sure you install the right (32-bit or 64-bit) version of the driver.

+

That's all! Go to the next section.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/04-meet-your-hardware/index.html b/f3discovery/04-meet-your-hardware/index.html new file mode 100644 index 000000000..794368284 --- /dev/null +++ b/f3discovery/04-meet-your-hardware/index.html @@ -0,0 +1,315 @@ + + + + + + Meet your hardware - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Meet your hardware

+

Let's get familiar with the hardware we'll be working with.

+

STM32F3DISCOVERY (the "F3")

+

+ +

+

We'll refer to this board as "F3" throughout this book. Here are some of the +many components on the board:

+ +

Of these components, the most important is the microcontroller (sometimes +shortened to "MCU" for "microcontroller unit"), which is the large black square +sitting in the center of your board. The MCU is what runs your code. You might +sometimes read about "programming a board", when in reality what we are doing +is programming the MCU that is installed on the board.

+

STM32F303VCT6 (the "STM32F3")

+

Since the MCU is so important, let's take a closer look at the one sitting on our board.

+

Our MCU is surrounded by 100 tiny metal pins. These pins are connected to +traces, the little "roads" that act as the wires connecting components +together on the board. The MCU can dynamically alter the electrical properties +of the pins. This works similar to a light switch altering how electrical +current flows through a circuit. By enabling or disabling electrical current to +flow through a specific pin, an LED attached to that pin (via the traces) can +be turned on and off.

+

Each manufacturer uses a different part numbering scheme, but many will allow +you to determine information about a component simply by looking at the part +number. Looking at our MCU's part number (STM32F303VCT6), the ST at the +front hints to us that this is a part manufactured by ST Microelectronics. +Searching through ST's marketing materials we can also learn the following:

+
    +
  • The M32 represents that this is an Arm®-based 32-bit microcontroller.
  • +
  • The F3 represents that the MCU is from ST's "STM32F3" series. This is a +series of MCUs based on the Cortex®-M4 processor design.
  • +
  • The remainder of the part number goes into more details about things like +extra features and RAM size, which at this point we're less concerned about.
  • +
+
+

Arm? Cortex-M4?

+

If our chip is manufactured by ST, then who is Arm? And if our chip is the +STM32F3, what is the Cortex-M4?

+

You might be surprised to hear that while "Arm-based" chips are quite +popular, the company behind the "Arm" trademark (Arm Holdings) doesn't +actually manufacture chips for purchase. Instead, their primary business +model is to just design parts of chips. They will then license those designs to +manufacturers, who will in turn implement the designs (perhaps with some of +their own tweaks) in the form of physical hardware that can then be sold. +Arm's strategy here is different from companies like Intel, which both +designs and manufactures their chips.

+

Arm licenses a bunch of different designs. Their "Cortex-M" family of designs +are mainly used as the core in microcontrollers. For example, the Cortex-M0 +is designed for low cost and low power usage. The Cortex-M7 is higher cost, +but with more features and performance. The core of our STM32F3 is based on +the Cortex-M4, which is in the middle: more features and performance than the +Cortex-M0, but less expensive than the Cortex-M7.

+

Luckily, you don't need to know too much about different types of processors +or Cortex designs for the sake of this book. However, you are hopefully now a +bit more knowledgeable about the terminology of your device. While you are +working specifically with an STM32F3, you might find yourself reading +documentation and using tools for Cortex-M-based chips, as the STM32F3 is +based on a Cortex-M design.

+
+

The Serial module

+

+ +

+

If you have an older revision of the discovery board, you can use this module to +exchange data between the microcontroller in the F3 and your computer. This module +will be connected to your computer using an USB cable. I won't say more at this +point.

+

If you have a newer release of the board then you don't need this module. The +ST-LINK will double as a USB<->serial converter connected to the microcontroller USART1 at pins PC4 and PC5.

+

The Bluetooth module

+

+ +

+

This module has the exact same purpose as the serial module but it sends the data over Bluetooth +instead of over USB.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/05-led-roulette/Cargo.toml b/f3discovery/05-led-roulette/Cargo.toml new file mode 100644 index 000000000..848f236c4 --- /dev/null +++ b/f3discovery/05-led-roulette/Cargo.toml @@ -0,0 +1,12 @@ +[package] +authors = [ + "Jorge Aparicio ", + "Christopher J. McClellan ", + "Wink Saville ", + "Christopher J. McClellan ", + "Wink Saville >, ActiveHigh>; 8]; + +pub fn init() -> (Delay, LedArray) { + let device_periphs = pac::Peripherals::take().unwrap(); + let mut reset_and_clock_control = device_periphs.RCC.constrain(); + + let core_periphs = cortex_m::Peripherals::take().unwrap(); + let mut flash = device_periphs.FLASH.constrain(); + let clocks = reset_and_clock_control.cfgr.freeze(&mut flash.acr); + let delay = Delay::new(core_periphs.SYST, clocks); + + // initialize user leds + let mut gpioe = device_periphs.GPIOE.split(&mut reset_and_clock_control.ahb); + let leds = Leds::new( + gpioe.pe8, + gpioe.pe9, + gpioe.pe10, + gpioe.pe11, + gpioe.pe12, + gpioe.pe13, + gpioe.pe14, + gpioe.pe15, + &mut gpioe.moder, + &mut gpioe.otyper, + ); + + (delay, leds.into_array()) +} diff --git a/f3discovery/05-led-roulette/build-it.html b/f3discovery/05-led-roulette/build-it.html new file mode 100644 index 000000000..c16f1c77a --- /dev/null +++ b/f3discovery/05-led-roulette/build-it.html @@ -0,0 +1,346 @@ + + + + + + Build it - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Build it

+

The first step is to build our "binary" crate. Because the microcontroller has a different +architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple +as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the +argument of that flag: the name of the target.

+

The microcontroller in the F3 has a Cortex-M4F processor in it. rustc knows how to cross compile +to the Cortex-M architecture and provides 4 different targets that cover the different processor +families within that architecture:

+
    +
  • thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors
  • +
  • thumbv7m-none-eabi, for the Cortex-M3 processor
  • +
  • thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors
  • +
  • thumbv7em-none-eabihf, for the Cortex-M4F and Cortex-M7F processors
  • +
+

For the F3, we'll use the thumbv7em-none-eabihf target. Before cross compiling you have to +download a pre-compiled version of the standard library (a reduced version of it actually) for your +target. That's done using rustup:

+
rustup target add thumbv7em-none-eabihf
+
+

You only need to do the above step once; rustup will re-install a new standard library +(rust-std component) whenever you update your toolchain.

+

With the rust-std component in place you can now cross compile the program using Cargo.

+
+

NOTE Make sure you are in the src/05-led-roulette directory +and run cargo build command below to create the executable:

+
+
cargo build --target thumbv7em-none-eabihf
+
+

On your console you should see something like:

+
$ cargo build --target thumbv7em-none-eabihf
+   Compiling typenum v1.12.0
+   Compiling semver-parser v0.7.0
+   Compiling version_check v0.9.2
+   Compiling nb v1.0.0
+   Compiling void v1.0.2
+   Compiling autocfg v1.0.1
+   Compiling cortex-m v0.7.1
+   Compiling proc-macro2 v1.0.24
+   Compiling vcell v0.1.3
+   Compiling unicode-xid v0.2.1
+   Compiling stable_deref_trait v1.2.0
+   Compiling syn v1.0.60
+   Compiling bitfield v0.13.2
+   Compiling cortex-m v0.6.7
+   Compiling cortex-m-rt v0.6.13
+   Compiling r0 v0.2.2
+   Compiling stm32-usbd v0.5.1
+   Compiling stm32f3 v0.12.1
+   Compiling usb-device v0.2.7
+   Compiling cfg-if v1.0.0
+   Compiling paste v1.0.4
+   Compiling stm32f3-discovery v0.6.0
+   Compiling embedded-dma v0.1.2
+   Compiling volatile-register v0.2.0
+   Compiling nb v0.1.3
+   Compiling embedded-hal v0.2.4
+   Compiling semver v0.9.0
+   Compiling generic-array v0.14.4
+   Compiling switch-hal v0.3.2
+   Compiling num-traits v0.2.14
+   Compiling num-integer v0.1.44
+   Compiling rustc_version v0.2.3
+   Compiling bare-metal v0.2.5
+   Compiling cast v0.2.3
+   Compiling quote v1.0.9
+   Compiling generic-array v0.13.2
+   Compiling generic-array v0.12.3
+   Compiling generic-array v0.11.1
+   Compiling panic-itm v0.4.2
+   Compiling lsm303dlhc v0.2.0
+   Compiling as-slice v0.1.4
+   Compiling micromath v1.1.0
+   Compiling accelerometer v0.12.0
+   Compiling chrono v0.4.19
+   Compiling aligned v0.3.4
+   Compiling rtcc v0.2.0
+   Compiling cortex-m-rt-macros v0.1.8
+   Compiling stm32f3xx-hal v0.6.1
+   Compiling aux5 v0.2.0 (~/embedded-discovery/src/05-led-roulette/auxiliary)
+   Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette)
+    Finished dev [unoptimized + debuginfo] target(s) in 17.91s
+
+
+

NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml file and build command above will ensure optimizations are off.

+
+

OK, now we have produced an executable. This executable won't blink any LEDs, it's just a simplified version that we will build upon later in the chapter. As a sanity check, let's verify that the produced executable is actually an ARM binary:

+
cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header
+
+

The cargo readobj .. above is equivalent to +readelf -h target/thumbv7em-none-eabihf/debug/led-roulette +and should produce something similar to:

+
$ cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+ELF Header:
+  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
+  Class:                             ELF32
+  Data:                              2's complement, little endian
+  Version:                           1 (current)
+  OS/ABI:                            UNIX - System V
+  ABI Version:                       0
+  Type:                              EXEC (Executable file)
+  Machine:                           ARM
+  Version:                           0x1
+  Entry point address:               0x8000195
+  Start of program headers:          52 (bytes into file)
+  Start of section headers:          818328 (bytes into file)
+  Flags:                             0x5000400
+  Size of this header:               52 (bytes)
+  Size of program headers:           32 (bytes)
+  Number of program headers:         4
+  Size of section headers:           40 (bytes)
+  Number of section headers:         22
+  Section header string table index: 20
+
+

Next, we'll flash the program into our microcontroller.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/05-led-roulette/debug-it.html b/f3discovery/05-led-roulette/debug-it.html new file mode 100644 index 000000000..514f87098 --- /dev/null +++ b/f3discovery/05-led-roulette/debug-it.html @@ -0,0 +1,479 @@ + + + + + + Debug it - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Debug it

+

We are already inside a debugging session so let's debug our program.

+

After the load command, our program is stopped at its entry point. This is indicated by the +"Start address 0x8000XXX" part of GDB's output. The entry point is the part of a program that a +processor / CPU will execute first.

+

The starter project I've provided to you has some extra code that runs before the main function. +At this time, we are not interested in that "pre-main" part so let's skip right to the beginning of +the main function. We'll do that using a breakpoint. Issue break main at the (gdb) prompt:

+
+

NOTE For these GDB commands I generally won't provide a copyable code block +as these are short and it's faster just to type them yourself. In addition most +can be shortened. For instance b for break or s for step, see GDB Quick Reference +for more info or use Google to find your others. In addition, you can use tab completion +by typing the first few letters than one tab to complete or two tabs to +see all possible commands.

+
+

Finally, help xxxx where xxxx is the command will provide short names and other info:

+
(gdb) help s
+step, s
+Step program until it reaches a different source line.
+Usage: step [N]
+Argument N means step N times (or till program stops for another reason).
+
+
+
+
(gdb) break main
+Breakpoint 1 at 0x80001f0: file src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+

Next issue a continue command:

+
(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+

Breakpoints can be used to stop the normal flow of a program. The continue command will let the +program run freely until it reaches a breakpoint. In this case, until it reaches #[entry] +which is a trampoline to the main function and where break main sets the breakpoint.

+
+

Note that GDB output says "Breakpoint 1". Remember that our processor can only use six of these +breakpoints so it's a good idea to pay attention to these messages.

+
+

OK. Since we are stopped at #[entry] and using the disassemble /m we see the code +for entry, which is a trampoline to main. That means it sets up the stack and then +invokes a subroutine call to the main function using an ARM branch and link instruction, bl.

+
(gdb) disassemble /m
+Dump of assembler code for function main:
+7       #[entry]
+   0x080001ec <+0>:     push    {r7, lr}
+   0x080001ee <+2>:     mov     r7, sp
+=> 0x080001f0 <+4>:     bl      0x80001f6 <_ZN12led_roulette18__cortex_m_rt_main17he61ef18c060014a5E>
+   0x080001f4 <+8>:     udf     #254    ; 0xfe
+
+End of assembler dump.
+
+

Next we need to issue a step GDB command which will advance the program statement +by statement stepping into functions/procedures. So after this first step command we're +inside main and are positioned at the first executable rust statement, line 10, but it is +not executed:

+
(gdb) step
+led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10
+10          let x = 42;
+
+

Next we'll issue a second step which executes line 10 and stops at +line 11 _y = x;, again line 11 is not executed.

+
+

NOTE We could have pressed enter at the second (gdb) prompt and +it would have reissued the previous statement, step, but for clarity +in this tutorial we'll generally retype the command.

+
+
(gdb) step
+11          _y = x;
+
+

As you can see, in this mode, on each step command GDB will print the current statement along +with its line number. As you'll see later in the TUI mode you'll not see the statement +in the command area.

+

We are now "on" the _y = x statement; that statement hasn't been executed yet. This means that x +is initialized but _y is not. Let's inspect those stack/local variables using the print +command, p for short:

+
(gdb) print x
+$1 = 42
+(gdb) p &x
+$2 = (*mut i32) 0x20009fe0
+(gdb) p _y
+$3 = 536870912
+(gdb) p &_y
+$4 = (*mut i32) 0x20009fe4
+
+

As expected, x contains the value 42. _y, however, contains the value 536870912 (?). This +is because _y has not been initialized yet, it contains some garbage value.

+

The command print &x prints the address of the variable x. The interesting bit here is that GDB +output shows the type of the reference: *mut i32, a mutable pointer to an i32 value. Another +interesting thing is that the addresses of x and _y are very close to each other: their +addresses are just 4 bytes apart.

+

Instead of printing the local variables one by one, you can also use the info locals command:

+
(gdb) info locals
+x = 42
+_y = 536870912
+
+

OK. With another step, we'll be on top of the loop {} statement:

+
(gdb) step
+14          loop {}
+
+

And _y should now be initialized.

+
(gdb) print _y
+$5 = 42
+
+

If we use step again on top of the loop {} statement, we'll get stuck because the program will +never pass that statement.

+
+

NOTE If you used the step or any other command by mistake and GDB gets stuck, you can get +it unstuck by hitting Ctrl+C.

+
+

As introduced above the disassemble /m command can be used to disassemble the program around the +line you are currently at. You might also want to set print asm-demangle on +so the names are demangled, this only needs to be done once a debug session. Later +this and other commands will be placed in an initialization file which will simplify +starting a debug session.

+
(gdb) set print asm-demangle on
+(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:
+8       fn main() -> ! {
+   0x080001f6 <+0>:     sub     sp, #8
+   0x080001f8 <+2>:     movs    r0, #42 ; 0x2a
+
+9           let _y;
+10          let x = 42;
+   0x080001fa <+4>:     str     r0, [sp, #0]
+
+11          _y = x;
+   0x080001fc <+6>:     str     r0, [sp, #4]
+
+12
+13          // infinite loop; just so we don't leave this stack frame
+14          loop {}
+=> 0x080001fe <+8>:     b.n     0x8000200 <led_roulette::__cortex_m_rt_main+10>
+   0x08000200 <+10>:    b.n     0x8000200 <led_roulette::__cortex_m_rt_main+10>
+
+End of assembler dump.
+
+

See the fat arrow => on the left side? It shows the instruction the processor will execute next.

+

Also, as mentioned above if you were to execute the step command GDB gets stuck because it +is executing a branch instruction to itself and never gets past it. So you need to use +Ctrl+C to regain control. An alternative is to use the stepi(si) GDB command, which steps +one asm instruction, and GDB will print the address and line number of the statement +the processor will execute next and it won't get stuck.

+
(gdb) stepi
+0x08000194      14          loop {}
+
+(gdb) si
+0x08000194      14          loop {}
+
+

One last trick before we move to something more interesting. Enter the following commands into GDB:

+
(gdb) monitor reset halt
+Unable to match requested speed 1000 kHz, using 950 kHz
+Unable to match requested speed 1000 kHz, using 950 kHz
+adapter speed: 950 kHz
+target halted due to debug-request, current mode: Thread
+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+(gdb) disassemble /m
+Dump of assembler code for function main:
+7       #[entry]
+   0x080001ec <+0>:     push    {r7, lr}
+   0x080001ee <+2>:     mov     r7, sp
+=> 0x080001f0 <+4>:     bl      0x80001f6 <led_roulette::__cortex_m_rt_main>
+   0x080001f4 <+8>:     udf     #254    ; 0xfe
+
+End of assembler dump.
+
+

We are now back at the beginning of #[entry]!

+

monitor reset halt will reset the microcontroller and stop it right at the beginning of the program. +The continue command will then let the program run freely until it reaches a breakpoint, in +this case it is the breakpoint at #[entry].

+

This combo is handy when you, by mistake, skipped over a part of the program that you were +interested in inspecting. You can easily roll back the state of your program back to its very +beginning.

+
+

The fine print: This reset command doesn't clear or touch RAM. That memory will retain its +values from the previous run. That shouldn't be a problem though, unless your program behavior +depends of the value of uninitialized variables but that's the definition of Undefined Behavior +(UB).

+
+

We are done with this debug session. You can end it with the quit command.

+
(gdb) quit
+A debugging session is active.
+
+        Inferior 1 [Remote target] will be detached.
+
+Quit anyway? (y or n) y
+Detaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target
+Ending remote debugging.
+
+

For a nicer debugging experience, you can use GDB's Text User Interface (TUI). To enter into that +mode enter one of the following commands in the GDB shell:

+
(gdb) layout src
+(gdb) layout asm
+(gdb) layout split
+
+
+

NOTE Apologies to Windows users, the GDB shipped with the GNU ARM Embedded Toolchain +may not support this TUI mode :-(.

+
+

Below is an example of setting up for a layout split by executing the follow commands. +As you can see we've dropped passing the --target parameter:

+
$ cargo run
+(gdb) target remote :3333
+(gdb) load
+(gdb) set print asm-demangle on
+(gdb) set style sources off
+(gdb) break main
+(gdb) continue
+
+

Here is a command line with the above commands as -ex parameters to save you some typing, +shortly we'll be providing an easier way to execute the initial set of commands:

+
cargo run -- -q -ex 'target remote :3333' -ex 'load' -ex 'set print asm-demangle on' -ex 'set style sources off' -ex 'b main' -ex 'c' target/thumbv7em-none-eabihf/debug/led-roulette
+
+

And below is the result:

+

GDB session layout split

+

Now we'll scroll the top source window down so we see the entire file and execute layout split and then step:

+

GDB session layout split

+

Then we'll execute a few info locals and step's:

+
(gdb) info locals
+(gdb) step
+(gdb) info locals
+(gdb) step
+(gdb) info locals
+
+

GDB session layout split

+

At any point you can leave the TUI mode using the following command:

+
(gdb) tui disable
+
+

GDB session layout split

+
+

NOTE If the default GDB CLI is not to your liking check out gdb-dashboard. It uses Python to +turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view +and other things.

+
+

Don't close OpenOCD though! We'll use it again and again later on. It's better +just to leave it running. If you want to learn more about what GDB can do, check out the section How to use GDB.

+

What's next? The high level API I promised.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/05-led-roulette/examples/my-solution.rs b/f3discovery/05-led-roulette/examples/my-solution.rs new file mode 100644 index 000000000..80cc49f65 --- /dev/null +++ b/f3discovery/05-led-roulette/examples/my-solution.rs @@ -0,0 +1,22 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry}; + +#[entry] +fn main() -> ! { + let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); + + let ms = 50_u8; + loop { + for curr in 0..8 { + let next = (curr + 1) % 8; + + leds[next].on().ok(); + delay.delay_ms(ms); + leds[curr].off().ok(); + delay.delay_ms(ms); + } + } +} diff --git a/f3discovery/05-led-roulette/examples/the-led-and-delay-abstractions.rs b/f3discovery/05-led-roulette/examples/the-led-and-delay-abstractions.rs new file mode 100644 index 000000000..ec07d1ffd --- /dev/null +++ b/f3discovery/05-led-roulette/examples/the-led-and-delay-abstractions.rs @@ -0,0 +1,20 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use aux5::{entry, Delay, DelayMs, LedArray, OutputSwitch}; + +#[entry] +fn main() -> ! { + let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); + + let half_period = 500_u16; + + loop { + leds[0].on().ok(); + delay.delay_ms(half_period); + + leds[0].off().ok(); + delay.delay_ms(half_period); + } +} diff --git a/f3discovery/05-led-roulette/flash-it.html b/f3discovery/05-led-roulette/flash-it.html new file mode 100644 index 000000000..ce7bb5cd3 --- /dev/null +++ b/f3discovery/05-led-roulette/flash-it.html @@ -0,0 +1,473 @@ + + + + + + Flash it - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Flash it

+

Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once +flashed, the microcontroller will execute the flashed program every time it is powered on.

+

In this case, our led-roulette program will be the only program in the microcontroller memory. +By this I mean that there's nothing else running on the microcontroller: no OS, no "daemon", +nothing. led-roulette has full control over the device.

+

Onto the actual flashing. First thing we need to do is launch OpenOCD. We did that in the +previous section but this time we'll run the command inside a temporary directory (/tmp on *nix; +%TEMP% on Windows).

+

Make sure the F3 is connected to your computer and run the following commands in a new terminal.

+

For *nix & MacOS:

+
cd /tmp
+openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+

For Windows Note: substitute C: for the actual OpenOCD path:

+
cd %TEMP%
+openocd -s C:\share\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+
+

NOTE Older revisions of the board need to pass slightly different arguments to +openocd. Review this section for the details.

+
+

The program will block; leave that terminal open.

+

Now it's a good time to explain what the openocd command is actually doing.

+

I mentioned that the STM32F3DISCOVERY (aka F3) actually has two microcontrollers. One of them is used as a +programmer/debugger. The part of the board that's used as a programmer is called ST-LINK (that's what +STMicroelectronics decided to call it). This ST-LINK is connected to the target microcontroller +using a Serial Wire Debug (SWD) interface (this interface is an ARM standard so you'll run into it +when dealing with other Cortex-M based microcontrollers). This SWD interface can be used to flash +and debug a microcontroller. The ST-LINK is connected to the "USB ST-LINK" port and will appear as +a USB device when you connect the F3 to your computer.

+

+ +

+

As for OpenOCD, it's software that provides some services like a GDB server on top of USB +devices that expose a debugging protocol like SWD or JTAG.

+

Onto the actual command: those .cfg files we are using instruct OpenOCD to look for a ST-LINK USB +device (interface/stlink-v2-1.cfg) and to expect a STM32F3XX microcontroller +(target/stm32f3x.cfg) to be connected to the ST-LINK.

+

The OpenOCD output looks like this:

+
$ openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+Open On-Chip Debugger 0.10.0
+Licensed under GNU GPL v2
+For bug reports, read
+	http://openocd.org/doc/doxygen/bugs.html
+Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
+adapter speed: 1000 kHz
+adapter_nsrst_delay: 100
+Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
+none separate
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : clock speed 950 kHz
+Info : STLINK v2 JTAG v37 API v2 SWIM v26 VID 0x0483 PID 0x374B
+Info : using stlink api v2
+Info : Target voltage: 2.888183
+Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
+
+

The "6 breakpoints, 4 watchpoints" part indicates the debugging features the processor has +available.

+

Leave that openocd process running, and in the previous terminal or a new terminal +make sure that you are inside the project's src/05-led-roulette/ directory.

+

I mentioned that OpenOCD provides a GDB server so let's connect to that right now:

+

Execute GDB

+

First, we need to determine what version of gdb you have that is capable of debugging ARM binaries.

+

This could be any one of the commands below, try each one:

+
arm-none-eabi-gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+
+
gdb-multiarch -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+
+
gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+
+
+

NOTE: If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory +error, try adding ../../ to the file path, for example:

+
$ gdb -q -ex "target remote :3333" ../../target/thumbv7em-none-eabihf/debug/led-roulette
+
+

This is caused by each example project being in a workspace that contains the entire book, and workspaces have +a single target directory. Check out [Workspaces chapter in Rust Book] for more.

+
+

Failing case

+

You can detect a failing case if there is a warning or error after the Remote debugging using :3333 line:

+
$ gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+Reading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...
+Remote debugging using :3333
+warning: Architecture rejected target-supplied description
+Truncated register 16 in remote 'g' packet
+(gdb)
+
+

Successful case

+

Successful case 1:

+
$ arm-none-eabi-gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+Reading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...
+Remote debugging using :3333
+cortex_m_rt::Reset () at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:497
+497     pub unsafe extern "C" fn Reset() -> ! {
+(gdb)
+
+

Successful case 2:

+
~/embedded-discovery/src/05-led-roulette (master)
+$ arm-none-eabi-gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+Reading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...
+Remote debugging using :3333
+0x00000000 in ?? ()
+(gdb)
+
+

In both failing and successful cases you should see new output in the OpenOCD terminal, something like the following:

+
 Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
++Info : accepting 'gdb' connection on tcp/3333
++Info : device id = 0x10036422
++Info : flash size = 256kbytes
+
+
+

NOTE If you are getting an error like undefined debug reason 7 - target needs reset, you can try running monitor reset halt as described here.

+
+

By default OpenOCD's GDB server listens on TCP port 3333 (localhost). This command is connecting to +that port.

+

Update ../.cargo/config.toml

+

Now that you've successfully determined which debugger you need to use +we need to change ../.cargo/config.toml so that the cargo run command will succeed.

+
+

NOTE cargo is the Rust package manager and you can read about it +here.

+
+

Get back to the terminal prompt and look at ../.cargo/config.toml:

+
~/embedded-discovery/src/05-led-roulette
+$ cat ../.cargo/config.toml
+# default runner starts a GDB sesssion, which requires OpenOCD to be
+# running, e.g.,
+## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg
+# depending on your local GDB, pick one of the following
+[target.thumbv7em-none-eabihf]
+runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+# runner = "gdb-multiarch -q -x ../openocd.gdb"
+# runner = "gdb -q -x ../openocd.gdb"
+rustflags = [
+  "-C", "link-arg=-Tlink.x",
+]
+
+[build]
+target = "thumbv7em-none-eabihf"
+
+
+

Use your favorite editor to edit ../.cargo/config.toml so that the +runner line contains the correct name of that debugger:

+
nano ../.cargo/config.toml
+
+

For example, if your debugger was gdb-multiarch then after +editing the git diff should be:

+
$ git diff ../.cargo/config.toml
+diff --git a/f3discovery/src/.cargo/config.toml b/f3discovery/src/.cargo/config.toml
+index 2f38f6b..95860a0 100644
+--- a/f3discovery/src/.cargo/config.toml
++++ b/f3discovery/src/.cargo/config.toml
+@@ -3,8 +3,8 @@
+ ## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg
+ # depending on your local GDB, pick one of the following
+ [target.thumbv7em-none-eabihf]
+-runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+-# runner = "gdb-multiarch -q -x ../openocd.gdb"
++# runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
++runner = "gdb-multiarch -q -x ../openocd.gdb"
+ # runner = "gdb -q -x ../openocd.gdb"
+ rustflags = [
+   "-C", "link-arg=-Tlink.x",
+
+

Now that you have ../.cargo/config.toml setup let's test it using cargo run to +start the debug session.

+
+

NOTE The --target thumbv7em-none-eabihf defines which architecture +to build and run. In our ../.cargo/config.toml file we have +target = "thumbv7em-none-eabihf" so it is actually not necessary +to specify --target we do it here just so you know that parameters on +the command line can be used and they override those in config.toml files.

+
+
cargo run --target thumbv7em-none-eabihf
+
+

Results in:

+
~/embedded-discovery/src/05-led-roulette
+$ cargo run --target thumbv7em-none-eabihf
+    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
+     Running `gdb-multiarch -q -x ../openocd.gdb /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+0x08000230 in core::fmt::Arguments::new_v1 (pieces=..., args=...)
+    at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs:394
+394	/rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs: No such file or directory.
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x1ad8 lma 0x8000194
+Loading section .rodata, size 0x5a4 lma 0x8001c6c
+Start address 0x08000194, load size 8720
+Transfer rate: 12 KB/sec, 2906 bytes/write.
+Breakpoint 1 at 0x80001e8: file src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+Breakpoint 2 at 0x800020a: file src/lib.rs, line 570.
+Breakpoint 3 at 0x8001c5a: file src/lib.rs, line 560.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+7	#[entry]
+halted: PC: 0x080001ee
+led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10
+10	    let x = 42;
+
+

Bravo, we will be modifying ../.cargo/config.toml in future. But, since +this file is shared with all of the chapters those changes should be made with +that in mind. If you want or we need to make changes that only pertain to +a particular chapter then create a .cargo/config.toml local to that chapter +directory.

+

Flash the device

+

Assuming you have GDB running, if not start it as suggested in the previous section.

+
+

NOTE The -x ../openocd.gdb arguments to gdb is already setup +to flash the device, so explicitly flashing the project code to the +device is normally handled with a simple cargo run. We'll cover +the openocd configuration script in the next section.

+
+

Now use the load command in gdb to actually flash the program into the device:

+
(gdb) load
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x20ec lma 0x8000194
+Loading section .rodata, size 0x514 lma 0x8002280
+Start address 0x08000194, load size 10132
+Transfer rate: 17 KB/sec, 3377 bytes/write.
+
+

You'll also see new output in the OpenOCD terminal, something like:

+
 Info : flash size = 256kbytes
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++adapter speed: 950 kHz
++target halted due to debug-request, current mode: Thread
++xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
++Info : Unable to match requested speed 8000 kHz, using 4000 kHz
++Info : Unable to match requested speed 8000 kHz, using 4000 kHz
++adapter speed: 4000 kHz
++target halted due to breakpoint, current mode: Thread
++xPSR: 0x61000000 pc: 0x2000003a msp: 0x2000a000
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++adapter speed: 950 kHz
++target halted due to debug-request, current mode: Thread
++xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
+
+

Our program is loaded, let's debug it!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/05-led-roulette/index.html b/f3discovery/05-led-roulette/index.html new file mode 100644 index 000000000..34583d111 --- /dev/null +++ b/f3discovery/05-led-roulette/index.html @@ -0,0 +1,277 @@ + + + + + + LED roulette - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

LED roulette

+

Alright, let's start by building the following application:

+

+ +

+

I'm going to give you a high level API to implement this app but don't worry we'll do low level +stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging +process.

+

Throughout this text we'll be using the starter code that's in the discovery repository. Make sure +you always have the latest version of the master branch because this website tracks that branch.

+

The starter code is in the src directory of that repository. Inside that directory there are more +directories named after each chapter of this book. Most of those directories are starter Cargo +projects.

+

Now, jump into the src/05-led-roulette directory. Check the src/main.rs file:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux5::entry;
+
+#[entry]
+fn main() -> ! {
+    let _y;
+    let x = 42;
+    _y = x;
+
+    // infinite loop; just so we don't leave this stack frame
+    loop {}
+}
+

Microcontroller programs are different from standard programs in two aspects: #![no_std] and +#![no_main].

+

The no_std attribute says that this program won't use the std crate, which assumes an underlying +OS; the program will instead use the core crate, a subset of std that can run on bare metal +systems (i.e., systems without OS abstractions like files and sockets).

+

The no_main attribute says that this program won't use the standard main interface, which is +tailored for command line applications that receive arguments. Instead of the standard main we'll +use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this +program we have named the entry point "main", but any other name could have been used. The entry +point function must have the signature fn() -> !; this type indicates that the function can't +return – this means that the program never terminates.

+

If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project +as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the +linking process to tailor the memory layout of the program to the requirements of the target device. +This modified linking process is a requirement of the cortex-m-rt crate. You'll also be making +further tweaks to .cargo/config in future sections to make building and debugging easier.

+

Alright, let's start by building this program.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/05-led-roulette/my-solution.html b/f3discovery/05-led-roulette/my-solution.html new file mode 100644 index 000000000..8a4522e5b --- /dev/null +++ b/f3discovery/05-led-roulette/my-solution.html @@ -0,0 +1,327 @@ + + + + + + My solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

My solution

+

What solution did you come up with?

+

Here's mine:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry};
+
+#[entry]
+fn main() -> ! {
+    let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+    let ms = 50_u8;
+    loop {
+        for curr in 0..8 {
+            let next = (curr + 1) % 8;
+
+            leds[next].on().ok();
+            delay.delay_ms(ms);
+            leds[curr].off().ok();
+            delay.delay_ms(ms);
+        }
+    }
+}
+

One more thing! Check that your solution also works when compiled in "release" mode:

+
$ cargo build --target thumbv7em-none-eabihf --release
+
+

You can test it with this gdb command:

+
$ # or, you could simply call `cargo run --target thumbv7em-none-eabihf --release`
+$ arm-none-eabi-gdb target/thumbv7em-none-eabihf/release/led-roulette
+$ #                                              ~~~~~~~
+
+

Binary size is something we should always keep an eye on! How big is your solution? You can check +that using the size command on the release binary:

+
$ # equivalent to size target/thumbv7em-none-eabihf/debug/led-roulette
+$ cargo size --target thumbv7em-none-eabihf --bin led-roulette -- -A
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section               size        addr
+.vector_table          404   0x8000000
+.text                21144   0x8000194
+.rodata               3144   0x800542c
+.data                    0  0x20000000
+.bss                     4  0x20000000
+.uninit                  0  0x20000004
+.debug_abbrev        19160         0x0
+.debug_info         471239         0x0
+.debug_aranges       18376         0x0
+.debug_ranges       102536         0x0
+.debug_str          508618         0x0
+.debug_pubnames      76975         0x0
+.debug_pubtypes     112797         0x0
+.ARM.attributes         58         0x0
+.debug_frame         55848         0x0
+.debug_line         282067         0x0
+.debug_loc             845         0x0
+.comment               147         0x0
+Total              1673362
+
+
+$ cargo size --target thumbv7em-none-eabihf --bin led-roulette --release -- -A
+    Finished release [optimized + debuginfo] target(s) in 0.03s
+led-roulette  :
+section              size        addr
+.vector_table         404   0x8000000
+.text                5380   0x8000194
+.rodata               564   0x8001698
+.data                   0  0x20000000
+.bss                    4  0x20000000
+.uninit                 0  0x20000004
+.debug_loc           9994         0x0
+.debug_abbrev        1821         0x0
+.debug_info         74974         0x0
+.debug_aranges        600         0x0
+.debug_ranges        6848         0x0
+.debug_str          52828         0x0
+.debug_pubnames     20821         0x0
+.debug_pubtypes     18891         0x0
+.ARM.attributes        58         0x0
+.debug_frame         1088         0x0
+.debug_line         15307         0x0
+.comment               19         0x0
+Total              209601
+
+
+

NOTE The Cargo project is already configured to build the release binary using LTO.

+
+

Know how to read this output? The text section contains the program instructions. It's around 5.25KB +in my case. On the other hand, the data and bss sections contain variables statically allocated +in RAM (static variables). A static variable is being used in aux5::init; that's why it shows 4 +bytes of bss.

+

One final thing! We have been running our programs from within GDB but our programs doesn't depend on +GDB at all. You can confirm this be closing both GDB and OpenOCD and then resetting the board by +pressing the black button on the board. The LED roulette application will run without intervention +of GDB.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/05-led-roulette/src/main.rs b/f3discovery/05-led-roulette/src/main.rs new file mode 100644 index 000000000..26e449962 --- /dev/null +++ b/f3discovery/05-led-roulette/src/main.rs @@ -0,0 +1,15 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use aux5::entry; + +#[entry] +fn main() -> ! { + let _y; + let x = 42; + _y = x; + + // infinite loop; just so we don't leave this stack frame + loop {} +} diff --git a/f3discovery/05-led-roulette/the-challenge.html b/f3discovery/05-led-roulette/the-challenge.html new file mode 100644 index 000000000..d469c7c5f --- /dev/null +++ b/f3discovery/05-led-roulette/the-challenge.html @@ -0,0 +1,360 @@ + + + + + + The challenge - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The challenge

+

You are now well armed to face a challenge! Your task will be to implement the application I showed +you at the beginning of this chapter.

+

Here's the GIF again:

+

+ +

+

Also, this may help:

+

+ +

+

This is a timing diagram. It indicates which LED is on at any given instant of time and for how long +each LED should be on. On the X axis we have the time in milliseconds. The timing diagram shows a +single period. This pattern will repeat itself every 800 ms. The Y axis labels each LED with a +cardinal point: North, East, etc. As part of the challenge you'll have to figure out how each +element in the Leds array maps to these cardinal points (hint: cargo doc --open ;-)).

+

Before you attempt this challenge, let me give you one additonal tip. Our GDB sessions always involve +entering the same commands at the beginning. We can use a .gdb file to execute some commands +right after GDB is started. This way you can save yourself the effort of having to enter them +manually on each GDB session.

+

As it turns out we've already created ../openocd.gdb and you can see it's doing +pretty much what we did in the previous section plus a few other commands. Look at +the comments for additional information:

+
$ cat ../openocd.gdb
+# Connect to gdb remote server
+target remote :3333
+
+# Load will flash the code
+load
+
+# Eanble demangling asm names on disassembly
+set print asm-demangle on
+
+# Enable pretty printing
+set print pretty on
+
+# Disable style sources as the default colors can be hard to read
+set style sources off
+
+# Initialize monitoring so iprintln! macro output
+# is sent from the itm port to itm.txt
+monitor tpiu config internal itm.txt uart off 8000000
+
+# Turn on the itm port
+monitor itm port 0 on
+
+# Set a breakpoint at main, aka entry
+break main
+
+# Set a breakpiont at DefaultHandler
+break DefaultHandler
+
+# Set a breakpiont at HardFault
+break HardFault
+
+# Continue running and until we hit the main breakpoint
+continue
+
+# Step from the trampoline code in entry into main
+step
+
+
+

Now we need to modify the ../.cargo/config.toml file to execute ../openocd.gdb

+
nano ../.cargo/config.toml
+
+

Edit your runner command -x ../openocd.gdb. +Assuming you're using arm-none-eabi-gdb the diff is:

+
~/embedded-discovery/src/05-led-roulette
+$ git diff ../.cargo/config.toml
+diff --git a/src/.cargo/config.toml b/src/.cargo/config.toml
+index ddff17f..02ac952 100644
+--- a/src/.cargo/config.toml
++++ b/src/.cargo/config.toml
+@@ -1,5 +1,5 @@
+ [target.thumbv7em-none-eabihf]
+-runner = "arm-none-eabi-gdb -q"
++runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+ # runner = "gdb-multiarch -q"
+ # runner = "gdb -q"
+ rustflags = [
+
+

And the full contents of ../.cargo/config.toml, again +assuming arm-none-eabi-gdb, is:

+
[target.thumbv7em-none-eabihf]
+runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+# runner = "gdb-multiarch -q"
+# runner = "gdb -q"
+rustflags = [
+  "-C", "link-arg=-Tlink.x",
+]
+
+[build]
+target = "thumbv7em-none-eabihf"
+
+
+

With that in place, you can now use a simple cargo run command which will build +the ARM version of the code and run the gdb session. The gdb session will +automatically flash the program and jump to the beginning of main as it step's +through the entry trampoline:

+
cargo run
+
+
~/embedded-discovery/src/05-led-roulette (Update-05-led-roulette-WIP)
+$ cargo run
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+     Running `arm-none-eabi-gdb -q -x openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x52c0 lma 0x8000194
+Loading section .rodata, size 0xb50 lma 0x8005454
+Start address 0x08000194, load size 24484
+Transfer rate: 21 KB/sec, 6121 bytes/write.
+Breakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline ()
+    at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+led_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9
+9           let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+

Fork the discovery book

+

If you haven't already ready, it's probably a good idea to fork +the embedded discovery book so you +can save your changes in your own branch of your fork. We suggest creating +your own branch and leaving the master branch alone so the master branch +of your fork can stay in sync with the upstream repo. Also, it allows you to +more easily create PR's and improve this book, thank you in advance!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/05-led-roulette/the-led-and-delay-abstractions.html b/f3discovery/05-led-roulette/the-led-and-delay-abstractions.html new file mode 100644 index 000000000..6b3e7688c --- /dev/null +++ b/f3discovery/05-led-roulette/the-led-and-delay-abstractions.html @@ -0,0 +1,735 @@ + + + + + + The led and delay abstractions - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The Led and Delay abstractions

+

Now, I'm going to introduce two high level abstractions that we'll use to implement the LED roulette +application.

+

The auxiliary crate, aux5, exposes an initialization function called init. When called this +function returns two values packed in a tuple: a Delay value and a LedArray value.

+

Delay can be used to block your program for a specified amount of milliseconds.

+

LedArray is an array of eight Leds. Each Led represents one of the LEDs on the F3 board, +and exposes two methods: on and off which can be used to turn the LED on or off, respectively.

+

Let's try out these two abstractions by modifying the starter code to look like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux5::{entry, Delay, DelayMs, LedArray, OutputSwitch};
+
+#[entry]
+fn main() -> ! {
+    let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+    let half_period = 500_u16;
+
+    loop {
+        leds[0].on().ok();
+        delay.delay_ms(half_period);
+
+        leds[0].off().ok();
+        delay.delay_ms(half_period);
+    }
+}
+

Now build it:

+
cargo build
+
+
+

NOTE: It's possible to forget to rebuild the program before starting a GDB session; this +omission can lead to very confusing debug sessions. To avoid this problem you can call just cargo run +instead of cargo build. The cargo run command will build and start a debug +session ensuring you never forget to recompile your program.

+
+

Now we'll run and repeat the flashing procedure as we did in the previous section +but with the new program. I'll let you type in the cargo run, this will get easier shortly. :)

+
+

NOTE: Don't forget to start openocd (debugger) on a separate terminal. +Otherwise target remote :3333 won't work!

+
+
$ cargo run
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+     Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+
+(gdb) target remote :3333
+Remote debugging using :3333
+led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+(gdb) load
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x52c0 lma 0x8000194
+Loading section .rodata, size 0xb50 lma 0x8005454
+Start address 0x08000194, load size 24484
+Transfer rate: 21 KB/sec, 6121 bytes/write.
+
+(gdb) break main
+Breakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline ()
+    at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+(gdb) step
+led_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9
+9           let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+(gdb)
+
+

OK. Let's step through the code. This time, we'll use the next command instead of step. The +difference is that the next command will step over function calls instead of going inside them.

+
(gdb) next
+11          let half_period = 500_u16;
+
+(gdb) next
+13          loop {
+
+(gdb) next
+14              leds[0].on().ok();
+
+(gdb) next
+15              delay.delay_ms(half_period);
+
+

After executing the leds[0].on().ok() statement, you should see a red LED, the one pointing North, +turn on.

+

Let's continue stepping over the program:

+
(gdb) next
+17              leds[0].off().ok();
+
+(gdb) next
+18              delay.delay_ms(half_period);
+
+

The delay_ms call will block the program for half a second but you may not notice because the +next command also takes some time to execute. However, after stepping over the leds[0].off() +statement you should see the red LED turn off.

+

You can already guess what this program does. Let it run uninterrupted using the continue command.

+
(gdb) continue
+Continuing.
+
+

Now, let's do something more interesting. We are going to modify the behavior of our program using +GDB.

+

First, let's stop the infinite loop by hitting Ctrl+C. You'll probably end up somewhere inside +Led::on, Led::off or delay_ms:

+
^C
+Program received signal SIGINT, Interrupt.
+0x08003434 in core::ptr::read_volatile<u32> (src=0xe000e010)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053
+
+

In my case, the program stopped its execution inside a read_volatile function. GDB output shows +some interesting information about that: core::ptr::read_volatile (src=0xe000e010). This means +that the function comes from the core crate and that it was called with argument src = 0xe000e010.

+

Just so you know, a more explicit way to show the arguments of a function is to use the info args +command:

+
(gdb) info args
+src = 0xe000e010
+
+

Regardless of where your program may have stopped you can always look at the output of the +backtrace command (bt for short) to learn how it got there:

+
(gdb) backtrace
+#0  0x08003434 in core::ptr::read_volatile<u32> (src=0xe000e010)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053
+#1  0x08002d66 in vcell::VolatileCell<u32>::get<u32> (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/vcell-0.1.3/src/lib.rs:33
+#2  volatile_register::RW<u32>::read<u32> (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/volatile-register-0.2.0/src/lib.rs:75
+#3  cortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136
+#4  0x08003004 in stm32f3xx_hal::delay::{{impl}}::delay_us (self=0x20009fa4, us=500000)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:58
+#5  0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32
+#6  0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38
+#7  0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15
+#8  0x08000206 in led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+
+

backtrace will print a trace of function calls from the current function down to main.

+

Back to our topic. To do what we are after, first, we have to return to the main function. We can +do that using the finish command. This command resumes the program execution and stops it again +right after the program returns from the current function. We'll have to call it several times.

+
(gdb) finish
+Run till exit from #0  0x08003434 in core::ptr::read_volatile<u32> (src=0xe000e010)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053
+cortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136
+136             self.csr.read() & SYST_CSR_COUNTFLAG != 0
+Value returned is $1 = 5
+
+(..)
+
+(gdb) finish
+Run till exit from #0  0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32
+0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38
+38              self.delay_ms(u32(ms));
+
+(gdb) finish
+Run till exit from #0  0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38
+0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15
+15              delay.delay_ms(half_period);
+
+

We are back in main. We have a local variable in here: half_period

+
(gdb) print half_period
+$3 = 500
+
+

Now, we are going to modify this variable using the set command:

+
(gdb) set half_period = 100
+
+(gdb) print half_period
+$5 = 100
+
+

If you let program run free again using the continue command, you might see that the LED will +blink at a much faster rate now, but more likely the blink rate didn't change. What happened?

+

Let's stop the program with Ctrl+C and then set a break point at main:14.

+
(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+core::cell::UnsafeCell<u32>::get<u32> (self=0x20009fa4)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1711
+1711        pub const fn get(&self) -> *mut T {
+
+

Then set a break point at main.rs:14 and continue

+
(gdb) break main.rs:14
+Breakpoint 2 at 0x8000236: file src/05-led-roulette/src/main.rs, line 14.
+(gdb) continue
+Continuing.
+
+Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:14
+14              leds[0].on().ok();
+
+

Now open your terminal window so it's about 80 lines long an 170 characters wide if possible.

+
+

NOTE: If you can't open the terminal that large, no problem you'll just see +--Type <RET> for more, q to quit, c to continue without paging-- so just type return +until you see the (gdb) prompt. Then scroll your terminal window to +see the results.

+
+
(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:
+8       fn main() -> ! {
+   0x08000208 <+0>:     push    {r7, lr}
+   0x0800020a <+2>:     mov     r7, sp
+   0x0800020c <+4>:     sub     sp, #64 ; 0x40
+   0x0800020e <+6>:     add     r0, sp, #32
+
+9           let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+   0x08000210 <+8>:     bl      0x8000302 <aux5::init>
+   0x08000214 <+12>:    b.n     0x8000216 <led_roulette::__cortex_m_rt_main+14>
+   0x08000216 <+14>:    add     r0, sp, #32
+   0x08000218 <+16>:    add     r1, sp, #4
+   0x0800021a <+18>:    ldmia.w r0, {r2, r3, r4, r12, lr}
+   0x0800021e <+22>:    stmia.w r1, {r2, r3, r4, r12, lr}
+   0x08000222 <+26>:    ldr     r0, [sp, #52]   ; 0x34
+   0x08000224 <+28>:    ldr     r1, [sp, #56]   ; 0x38
+   0x08000226 <+30>:    str     r1, [sp, #28]
+   0x08000228 <+32>:    str     r0, [sp, #24]
+   0x0800022a <+34>:    mov.w   r0, #500        ; 0x1f4
+
+10
+11          let half_period = 500_u16;
+   0x0800022e <+38>:    strh.w  r0, [r7, #-2]
+
+12
+13          loop {
+   0x08000232 <+42>:    b.n     0x8000234 <led_roulette::__cortex_m_rt_main+44>
+   0x08000234 <+44>:    add     r0, sp, #24
+   0x08000268 <+96>:    b.n     0x8000234 <led_roulette::__cortex_m_rt_main+44>
+
+14              leds[0].on().ok();
+=> 0x08000236 <+46>:    bl      0x80001ec <switch_hal::output::{{impl}}::on<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x0800023a <+50>:    b.n     0x800023c <led_roulette::__cortex_m_rt_main+52>
+   0x0800023c <+52>:    bl      0x8000594 <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x08000240 <+56>:    b.n     0x8000242 <led_roulette::__cortex_m_rt_main+58>
+   0x08000242 <+58>:    add     r0, sp, #4
+   0x08000244 <+60>:    mov.w   r1, #500        ; 0x1f4
+
+15              delay.delay_ms(half_period);
+   0x08000248 <+64>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x0800024c <+68>:    b.n     0x800024e <led_roulette::__cortex_m_rt_main+70>
+   0x0800024e <+70>:    add     r0, sp, #24
+
+16
+17              leds[0].off().ok();
+   0x08000250 <+72>:    bl      0x800081a <switch_hal::output::{{impl}}::off<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x08000254 <+76>:    b.n     0x8000256 <led_roulette::__cortex_m_rt_main+78>
+   0x08000256 <+78>:    bl      0x8000594 <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x0800025a <+82>:    b.n     0x800025c <led_roulette::__cortex_m_rt_main+84>
+   0x0800025c <+84>:    add     r0, sp, #4
+   0x0800025e <+86>:    mov.w   r1, #500        ; 0x1f4
+
+18              delay.delay_ms(half_period);
+   0x08000262 <+90>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x08000266 <+94>:    b.n     0x8000268 <led_roulette::__cortex_m_rt_main+96>
+
+End of assembler dump.
+
+

In the above dump the reason the delay didn't change was because the compiler +recognized that half_period didn't change and instead in the two places where +delay.delay_ms(half_period); is called we see mov.w r1, #500. So changing the +value of half_period does nothing!

+
   0x08000244 <+60>:    mov.w   r1, #500        ; 0x1f4
+
+15              delay.delay_ms(half_period);
+   0x08000248 <+64>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+
+(..)
+
+   0x0800025e <+86>:    mov.w   r1, #500        ; 0x1f4
+
+18              delay.delay_ms(half_period);
+   0x08000262 <+90>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+
+

One solution to the problem is to wrap half_period in a Volatile as shown below.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use volatile::Volatile;
+use aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry};
+
+#[entry]
+fn main() -> ! {
+    let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+    let mut half_period = 500_u16;
+    let v_half_period = Volatile::new(&mut half_period);
+
+    loop {
+        leds[0].on().ok();
+        delay.delay_ms(v_half_period.read());
+
+        leds[0].off().ok();
+        delay.delay_ms(v_half_period.read());
+    }
+}
+
+
+

Edit Cargo.toml adding volatile = "0.4.3" in the [dependencies] section.

+
[dependencies]
+aux5 = { path = "auxiliary" }
+volatile = "0.4.3"
+
+

With the above code using Volatile you can now change half_period and +you'll be able to experiment with different values. Here is the list of +commands followed by an explanation; # xxxx to demonstrate.

+
$ cargo run --target thumbv7em-none-eabihf   # Compile and load the program into gdb
+(gdb) target remote :3333           # Connect to STM32F3DISCOVERY board from PC
+(gdb) load                          # Flash program
+(gdb) break main.rs:16              # Set breakpoint 1 at top of loop
+(gdb) continue                      # Continue, will stop at main.rs:16
+(gdb) disable 1                     # Disable breakpoint 1
+(gdb) set print asm-demangle on     # Enable asm-demangle
+(gdb) disassemble /m                # Disassemble main function
+(gdb) continue                      # Led blinking on for 1/2 sec then off 1/2 sec
+^C                                  # Stop with Ctrl+C
+(gdb) enable 1                      # Enable breakpoint 1
+(gdb) continue                      # Continue, will stop at main.rs:16
+(gdb) print half_period             # Print half_period result is 500
+(gdb) set half_period = 2000        # Set half_period to 2000ms
+(gdb) print half_period             # Print half_period and result is 2000
+(gdb) disable 1                     # Disable breakpoint 1
+(gdb) continue                      # Led blinking on for 2 secs then off 2 sec
+^C                                  # Stop with Ctrl+C
+(gdb) quit                          # Quit gdb
+
+

The critical changes are at lines 13, 17 and 20 in the source code which +you can see in the disassembly. At 13 we create v_half_period and then +read() its value in lines 17 and 20. This means that when we set half_period = 2000 +the led will now be on for 2 seconds then off for 2 seconds.

+
$ cargo run --target thumbv7em-none-eabihf
+   Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette)
+    Finished dev [unoptimized + debuginfo] target(s) in 0.18s
+     Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+
+(gdb) target remote :3333
+Remote debugging using :3333
+led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) load
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x5258 lma 0x8000194
+Loading section .rodata, size 0xbd8 lma 0x80053ec
+Start address 0x08000194, load size 24516
+Transfer rate: 21 KB/sec, 6129 bytes/write.
+
+(gdb) break main.rs:16
+Breakpoint 1 at 0x8000246: file src/05-led-roulette/src/main.rs, line 16.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) disable 1
+
+(gdb) set print asm-demangle on
+
+(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17he1f2bc7990b13731E:
+9       fn main() -> ! {
+   0x0800020e <+0>:     push    {r7, lr}
+   0x08000210 <+2>:     mov     r7, sp
+   0x08000212 <+4>:     sub     sp, #72 ; 0x48
+   0x08000214 <+6>:     add     r0, sp, #36     ; 0x24
+
+10          let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+   0x08000216 <+8>:     bl      0x800036a <aux5::init>
+   0x0800021a <+12>:    b.n     0x800021c <led_roulette::__cortex_m_rt_main+14>
+   0x0800021c <+14>:    add     r0, sp, #36     ; 0x24
+   0x0800021e <+16>:    add     r1, sp, #8
+   0x08000220 <+18>:    ldmia.w r0, {r2, r3, r4, r12, lr}
+   0x08000224 <+22>:    stmia.w r1, {r2, r3, r4, r12, lr}
+   0x08000228 <+26>:    ldr     r0, [sp, #56]   ; 0x38
+   0x0800022a <+28>:    ldr     r1, [sp, #60]   ; 0x3c
+   0x0800022c <+30>:    str     r1, [sp, #32]
+   0x0800022e <+32>:    str     r0, [sp, #28]
+   0x08000230 <+34>:    mov.w   r0, #500        ; 0x1f4
+
+11
+12          let mut half_period = 500_u16;
+   0x08000234 <+38>:    strh.w  r0, [r7, #-6]
+   0x08000238 <+42>:    subs    r0, r7, #6
+
+13          let v_half_period = Volatile::new(&mut half_period);
+   0x0800023a <+44>:    bl      0x800033e <volatile::Volatile<&mut u16, volatile::access::ReadWrite>::new<&mut u16>>
+   0x0800023e <+48>:    str     r0, [sp, #68]   ; 0x44
+   0x08000240 <+50>:    b.n     0x8000242 <led_roulette::__cortex_m_rt_main+52>
+
+14
+15          loop {
+   0x08000242 <+52>:    b.n     0x8000244 <led_roulette::__cortex_m_rt_main+54>
+   0x08000244 <+54>:    add     r0, sp, #28
+   0x08000288 <+122>:   b.n     0x8000244 <led_roulette::__cortex_m_rt_main+54>
+
+16              leds[0].on().ok();
+=> 0x08000246 <+56>:    bl      0x800032c <switch_hal::output::{{impl}}::on<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x0800024a <+60>:    b.n     0x800024c <led_roulette::__cortex_m_rt_main+62>
+   0x0800024c <+62>:    bl      0x80005fc <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x08000250 <+66>:    b.n     0x8000252 <led_roulette::__cortex_m_rt_main+68>
+   0x08000252 <+68>:    add     r0, sp, #68     ; 0x44
+
+17              delay.delay_ms(v_half_period.read());
+   0x08000254 <+70>:    bl      0x800034a <volatile::Volatile<&mut u16, volatile::access::ReadWrite>::read<&mut u16,u16,volatile::access::ReadWrite>>
+   0x08000258 <+74>:    str     r0, [sp, #4]
+   0x0800025a <+76>:    b.n     0x800025c <led_roulette::__cortex_m_rt_main+78>
+   0x0800025c <+78>:    add     r0, sp, #8
+   0x0800025e <+80>:    ldr     r1, [sp, #4]
+   0x08000260 <+82>:    bl      0x8002fc4 <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x08000264 <+86>:    b.n     0x8000266 <led_roulette::__cortex_m_rt_main+88>
+   0x08000266 <+88>:    add     r0, sp, #28
+
+18
+19              leds[0].off().ok();
+   0x08000268 <+90>:    bl      0x8000882 <switch_hal::output::{{impl}}::off<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x0800026c <+94>:    b.n     0x800026e <led_roulette::__cortex_m_rt_main+96>
+   0x0800026e <+96>:    bl      0x80005fc <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x08000272 <+100>:   b.n     0x8000274 <led_roulette::__cortex_m_rt_main+102>
+   0x08000274 <+102>:   add     r0, sp, #68     ; 0x44
+
+20              delay.delay_ms(v_half_period.read());
+   0x08000276 <+104>:   bl      0x800034a <volatile::Volatile<&mut u16, volatile::access::ReadWrite>::read<&mut u16,u16,volatile::access::ReadWrite>>
+   0x0800027a <+108>:   str     r0, [sp, #0]
+   0x0800027c <+110>:   b.n     0x800027e <led_roulette::__cortex_m_rt_main+112>
+   0x0800027e <+112>:   add     r0, sp, #8
+   0x08000280 <+114>:   ldr     r1, [sp, #0]
+   0x08000282 <+116>:   bl      0x8002fc4 <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x08000286 <+120>:   b.n     0x8000288 <led_roulette::__cortex_m_rt_main+122>
+
+End of assembler dump.
+
+(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+0x080037b2 in core::cell::UnsafeCell<u32>::get<u32> (self=0x20009fa0) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1716
+1716        }
+
+(gdb) enable 1
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) print half_period
+$2 = 500
+
+(gdb) disable 1
+
+(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+0x08003498 in core::ptr::read_volatile<u32> (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1052
+1052        unsafe { intrinsics::volatile_load(src) }
+
+(gdb) enable 1
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) print half_period
+$3 = 500
+
+(gdb) set half_period = 2000
+
+(gdb) print half_period
+$4 = 2000
+
+(gdb) disable 1
+
+(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+0x0800348e in core::ptr::read_volatile<u32> (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1046
+1046    pub unsafe fn read_volatile<T>(src: *const T) -> T {
+
+(gdb) q
+Detaching from program: ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+

Question! What happens if you start lowering the value of half_period? At what value of +half_period you can no longer see the LED blink?

+

Now, it's your turn to write a program.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/06-hello-world/Cargo.toml b/f3discovery/06-hello-world/Cargo.toml new file mode 100644 index 000000000..1a19db077 --- /dev/null +++ b/f3discovery/06-hello-world/Cargo.toml @@ -0,0 +1,11 @@ +[package] +authors = [ + "Jorge Aparicio ", + "Wink Saville ", + "Wink Saville ITM { + let p = cortex_m::Peripherals::take().unwrap(); + + p.ITM +} diff --git a/f3discovery/06-hello-world/index.html b/f3discovery/06-hello-world/index.html new file mode 100644 index 000000000..1422589ed --- /dev/null +++ b/f3discovery/06-hello-world/index.html @@ -0,0 +1,351 @@ + + + + + + Hello, world! - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Hello, world!

+
+

HEADS UP The "solder bridge" SB10 (see back of the board) on the STM32F3DISCOVERY, which is +required to use the ITM and the iprint! macros shown below, is not soldered by default +(see page 21 of the User Manual). +(To be more accurate: this actually depends on the board revision. If you have an old version of +the board as the old User Manual said, the SB10 was soldered. Check your board +to decide whether you need to fix it.)

+
+
+

TL;DR You have two options to fix this: Either solder the solder bridge SB10 or connect a +female to female jumper wire between SWO and PB3 as shown in the picture below.

+
+

+ +

+
+

Just a little more of helpful magic before we start doing low level stuff.

+

Blinking an LED is like the "Hello, world" of the embedded world.

+

But in this section, we'll run a proper "Hello, world" program that prints stuff to your computer +console.

+

Go to the 06-hello-world directory. There's some starter code in it:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux6::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let mut itm = aux6::init();
+
+    iprintln!(&mut itm.stim[0], "Hello, world!");
+
+    loop {}
+}
+

The iprintln macro will format messages and output them to the microcontroller's ITM. ITM stands +for Instrumentation Trace Macrocell and it's a communication protocol on top of SWD (Serial Wire +Debug) which can be used to send messages from the microcontroller to the debugging host. This +communication is only one way: the debugging host can't send data to the microcontroller.

+

OpenOCD, which is managing the debug session, can receive data sent through this ITM channel and +redirect it to a file.

+

The ITM protocol works with frames (you can think of them as Ethernet frames). Each frame has a +header and a variable length payload. OpenOCD will receive these frames and write them directly to a +file without parsing them. So, if the microntroller sends the string "Hello, world!" using the +iprintln macro, OpenOCD's output file won't exactly contain that string.

+

To retrieve the original string, OpenOCD's output file will have to be parsed. We'll use the +itmdump program to perform the parsing as new data arrives.

+

You should have already installed the itmdump program during the installation chapter.

+

In a new terminal, run this command inside the /tmp directory, if you are using a *nix OS, or from +within the %TEMP% directory, if you are running Windows. This should be the same directory from +where you are running OpenOCD.

+
+

NOTE It's very important that both itmdump and openocd are running +from the same directory!

+
+
$ # itmdump terminal
+
+$ # *nix
+$ cd /tmp && touch itm.txt
+
+$ # Windows
+$ cd %TEMP% && type nul >> itm.txt
+
+$ # both
+$ itmdump -F -f itm.txt
+
+

This command will block as itmdump is now watching the itm.txt file. Leave this terminal open.

+

Make sure that the STM32F3DISCOVERY board is connected to your computer. Open another terminal +from /tmp directory (on Windows %TEMP%) to launch OpenOCD similar as described in chapter 3.

+

Alright. Now, let's build the starter code and flash it into the microcontroller.

+

We will now build and run the application, cargo run. And step through it using next. +Since openocd.gdb contains the monitor commands in openocd.gdb OpenOCD will redirect +the ITM output to itm.txt and itmdump will write it to its terminal window. Also, it setup +break points and stepped through the trampoline we are at the first executable +statement in fn main():

+
~/embedded-discovery/src/06-hello-world
+$ cargo run
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+     Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:14
+14          loop {}
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x2828 lma 0x8000194
+Loading section .rodata, size 0x638 lma 0x80029bc
+Start address 0x08000194, load size 12276
+Transfer rate: 18 KB/sec, 4092 bytes/write.
+Breakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.
+Note: automatically using hardware breakpoints for read-only addresses.
+Breakpoint 2 at 0x800092a: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.
+Breakpoint 3 at 0x80029a8: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560.
+
+Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8
+8       #[entry]
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10
+10          let mut itm = aux6::init();
+
+(gdb)
+
+

Now issue a next command which will execute aux6::init() and +stop at the next executable statement in main.rs, which +positions us at line 12:

+
(gdb) next
+12	    iprintln!(&mut itm.stim[0], "Hello, world!");
+
+

Then issue another next command which will execute +line 12, executing the iprintln and stop at line 14:

+
(gdb) next
+14	    loop {}
+
+

Now since iprintln has been executed the output on the itmdump +terminal window should be the Hello, world! string:

+
$ itmdump -F -f itm.txt
+(...)
+Hello, world!
+
+

Awesome, right? Feel free to use iprintln as a logging tool in the coming sections.

+

Next: That's not all! The iprint! macros are not the only thing that uses the ITM. :-)

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/06-hello-world/panic.html b/f3discovery/06-hello-world/panic.html new file mode 100644 index 000000000..80e0ff975 --- /dev/null +++ b/f3discovery/06-hello-world/panic.html @@ -0,0 +1,347 @@ + + + + + + panic! - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

panic!

+

The panic! macro also sends its output to the ITM!

+

Change the main function to look like this:

+
#[entry]
+fn main() -> ! {
+    panic!("Hello, world!");
+}
+

Before running one other suggestion, I find it inconvenient to have to +confirm when quitting gdb. Add the following file in your home +directory ~/.gdbinit so that it quits immediately:

+
$ cat ~/.gdbinit
+define hook-quit
+  set confirm off
+end
+
+

OK, now use cargo run and it stops at the first line of fn main():

+
$ cargo run
+   Compiling hello-world v0.2.0 (~/embedded-discovery/src/06-hello-world)
+    Finished dev [unoptimized + debuginfo] target(s) in 0.11s
+     Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10
+10          panic!("Hello, world!");
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x20fc lma 0x8000194
+Loading section .rodata, size 0x554 lma 0x8002290
+Start address 0x08000194, load size 10212
+Transfer rate: 17 KB/sec, 3404 bytes/write.
+Breakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.
+Note: automatically using hardware breakpoints for read-only addresses.
+Breakpoint 2 at 0x8000222: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.
+Breakpoint 3 at 0x800227a: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560.
+
+Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8
+8       #[entry]
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10
+10          panic!("Hello, world!");
+(gdb)
+
+

We'll use short command names to save typing, enter c then the Enter or Return key:

+
(gdb) c
+Continuing.
+
+

If all is well you'll see some new output in the itmdump terminal.

+
$ # itmdump terminal
+(..)
+panicked at 'Hello, world!', src/06-hello-world/src/main.rs:10:5
+
+

Then type Ctrl-c which breaks out of a loop in the runtime:

+
^C
+Program received signal SIGINT, Interrupt.
+0x0800115c in panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:57
+57	        atomic::compiler_fence(Ordering::SeqCst);
+
+

Ultimately, panic! is just another function call so you can see it leaves behind +a trace of function calls. This allows you to use backtrace or just bt and to see +call stack that caused the panic:

+
(gdb) bt
+#0  panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47
+#1  0x080005c2 in core::panicking::panic_fmt () at library/core/src/panicking.rs:92
+#2  0x0800055a in core::panicking::panic () at library/core/src/panicking.rs:50
+#3  0x08000210 in hello_world::__cortex_m_rt_main () at src/06-hello-world/src/main.rs:10
+#4  0x080001f4 in hello_world::__cortex_m_rt_main_trampoline () at src/06-hello-world/src/main.rs:8
+
+

Another thing we can do is catch the panic before it does the logging. +So we'll do several things; reset to the beginning, disable breakpoint 1, +set a new breakpoint at rust_begin_unwind, list the break points and then continue:

+
(gdb) monitor reset halt
+Unable to match requested speed 1000 kHz, using 950 kHz
+Unable to match requested speed 1000 kHz, using 950 kHz
+adapter speed: 950 kHz
+target halted due to debug-request, current mode: Thread 
+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
+
+(gdb) disable 1
+
+(gdb) break rust_begin_unwind 
+Breakpoint 4 at 0x800106c: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs, line 47.
+
+(gdb) info break
+Num     Type           Disp Enb Address    What
+1       breakpoint     keep n   0x080001f0 in hello_world::__cortex_m_rt_main_trampoline 
+                                           at ~/prgs/rust/tutorial/embedded-discovery/src/06-hello-world/src/main.rs:8
+        breakpoint already hit 1 time
+2       breakpoint     keep y   0x08000222 in cortex_m_rt::DefaultHandler_ 
+                                           at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:570
+3       breakpoint     keep y   0x0800227a in cortex_m_rt::HardFault_ 
+                                           at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560
+4       breakpoint     keep y   0x0800106c in panic_itm::panic 
+                                           at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47
+
+(gdb) c
+Continuing.
+
+Breakpoint 4, panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47
+47          interrupt::disable();
+
+

You'll notice that nothing got printed on the itmdump console this time. If +you resume the program using continue then a new line will be printed.

+

In a later section we'll look into other simpler communication protocols.

+

Finally, enter the q command to quit and it quits immediately without asking for confirmation:

+
(gdb) q
+Detaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+

As an even shorter sequence you can type Ctrl-d, which eliminates +one keystroke!

+
+

NOTE In this case the (gdb) prompt is overwritten with quit)

+
+
quit)
+Detaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/06-hello-world/src/main.rs b/f3discovery/06-hello-world/src/main.rs new file mode 100644 index 000000000..7edcfeba5 --- /dev/null +++ b/f3discovery/06-hello-world/src/main.rs @@ -0,0 +1,15 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux6::{entry, iprint, iprintln}; + +#[entry] +fn main() -> ! { + let mut itm = aux6::init(); + + iprintln!(&mut itm.stim[0], "Hello, world!"); + + loop {} +} diff --git a/f3discovery/07-registers/Cargo.toml b/f3discovery/07-registers/Cargo.toml new file mode 100644 index 000000000..2a9d1f086 --- /dev/null +++ b/f3discovery/07-registers/Cargo.toml @@ -0,0 +1,11 @@ +[package] +authors = [ + "Jorge Aparicio ", + "Wink Saville ", + "Wink Saville (ITM, &'static RegisterBlock) { + let device_periphs = stm32::Peripherals::take().unwrap(); + let mut reset_and_clock_control = device_periphs.RCC.constrain(); + + // initialize user leds + let mut gpioe = device_periphs.GPIOE.split(&mut reset_and_clock_control.ahb); + let _leds = Leds::new( + gpioe.pe8, + gpioe.pe9, + gpioe.pe10, + gpioe.pe11, + gpioe.pe12, + gpioe.pe13, + gpioe.pe14, + gpioe.pe15, + &mut gpioe.moder, + &mut gpioe.otyper, + ); + + let core_periphs = cortex_m::Peripherals::take().unwrap(); + (core_periphs.ITM, unsafe { &*stm32f303::GPIOE::ptr() }) +} diff --git a/f3discovery/07-registers/bad-address.html b/f3discovery/07-registers/bad-address.html new file mode 100644 index 000000000..1813f26dd --- /dev/null +++ b/f3discovery/07-registers/bad-address.html @@ -0,0 +1,354 @@ + + + + + + 0xBAAAAAAD address - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

0xBAAAAAAD address

+

Not all the peripheral memory can be accessed. Look at this program.

+
#![no_main]
+#![no_std]
+
+use core::ptr;
+
+#[allow(unused_imports)]
+use aux7::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    aux7::init();
+
+    unsafe {
+        ptr::read_volatile(0x4800_1800 as *const u32);
+    }
+
+    loop {}
+}
+

This address is close to the GPIOE_BSRR address we used before but this address is invalid. +Invalid in the sense that there's no register at this address.

+

Now, let's try it.

+
$ cargo run
+(..)
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9
+9       #[entry]
+
+(gdb) continue
+Continuing.
+
+Breakpoint 3, cortex_m_rt::HardFault_ (ef=0x20009fb0)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560
+560         loop {
+
+(gdb)
+
+

We tried to do an invalid operation, reading memory that doesn't exist, so the processor raised an +exception, a hardware exception.

+

In most cases, exceptions are raised when the processor attempts to perform an invalid operation. +Exceptions break the normal flow of a program and force the processor to execute an exception +handler, which is just a function/subroutine.

+

There are different kind of exceptions. Each kind of exception is raised by different conditions and +each one is handled by a different exception handler.

+

The aux7 crate depends on the cortex-m-rt crate which defines a default +hard fault handler, named HardFault, that handles the "invalid memory +address" exception. openocd.gdb placed a breakpoint on HardFault; that's why +the debugger halted your program while it was executing the exception handler. +We can get more information about the exception from the debugger. Let's see:

+
(gdb) list
+555     #[allow(unused_variables)]
+556     #[doc(hidden)]
+557     #[link_section = ".HardFault.default"]
+558     #[no_mangle]
+559     pub unsafe extern "C" fn HardFault_(ef: &ExceptionFrame) -> ! {
+560         loop {
+561             // add some side effect to prevent this from turning into a UDF instruction
+562             // see rust-lang/rust#28728 for details
+563             atomic::compiler_fence(Ordering::SeqCst);
+564         }
+
+

ef is a snapshot of the program state right before the exception occurred. Let's inspect it:

+
(gdb) print/x *ef
+$1 = cortex_m_rt::ExceptionFrame {
+  r0: 0x48001800,
+  r1: 0x80036b0,
+  r2: 0x1,
+  r3: 0x80000000,
+  r12: 0xb,
+  lr: 0x800020d,
+  pc: 0x8001750,
+  xpsr: 0xa1000200
+}
+
+

There are several fields here but the most important one is pc, the Program Counter register. +The address in this register points to the instruction that generated the exception. Let's +disassemble the program around the bad instruction.

+
(gdb) disassemble /m ef.pc
+Dump of assembler code for function core::ptr::read_volatile<u32>:
+1046    pub unsafe fn read_volatile<T>(src: *const T) -> T {
+   0x0800174c <+0>:     sub     sp, #12
+   0x0800174e <+2>:     str     r0, [sp, #4]
+
+1047        if cfg!(debug_assertions) && !is_aligned_and_not_null(src) {
+1048            // Not panicking to keep codegen impact smaller.
+1049            abort();
+1050        }
+1051        // SAFETY: the caller must uphold the safety contract for `volatile_load`.
+1052        unsafe { intrinsics::volatile_load(src) }
+   0x08001750 <+4>:     ldr     r0, [r0, #0]
+   0x08001752 <+6>:     str     r0, [sp, #8]
+   0x08001754 <+8>:     ldr     r0, [sp, #8]
+   0x08001756 <+10>:    str     r0, [sp, #0]
+   0x08001758 <+12>:    b.n     0x800175a <core::ptr::read_volatile<u32>+14>
+
+1053    }
+   0x0800175a <+14>:    ldr     r0, [sp, #0]
+   0x0800175c <+16>:    add     sp, #12
+   0x0800175e <+18>:    bx      lr
+
+End of assembler dump.
+
+

The exception was caused by the ldr r0, [r0, #0] instruction, a read instruction. The instruction +tried to read the memory at the address indicated by the r0 register. By the way, r0 is a CPU +(processor) register not a memory mapped register; it doesn't have an associated address like, say, +GPIO_BSRR.

+

Wouldn't it be nice if we could check what the value of the r0 register was right at the instant +when the exception was raised? Well, we already did! The r0 field in the ef value we printed +before is the value of r0 register had when the exception was raised. Here it is again:

+
(gdb) print/x *ef
+$1 = cortex_m_rt::ExceptionFrame {
+  r0: 0x48001800,
+  r1: 0x80036b0,
+  r2: 0x1,
+  r3: 0x80000000,
+  r12: 0xb,
+  lr: 0x800020d,
+  pc: 0x8001750,
+  xpsr: 0xa1000200
+}
+
+

r0 contains the value 0x4800_1800 which is the invalid address we called the read_volatile +function with.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/07-registers/index.html b/f3discovery/07-registers/index.html new file mode 100644 index 000000000..de6193f86 --- /dev/null +++ b/f3discovery/07-registers/index.html @@ -0,0 +1,288 @@ + + + + + + Registers - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Registers

+

It's time to explore what the Led API does under the hood.

+

In a nutshell, it just writes to some special memory regions. Go into the 07-registers directory +and let's run the starter code statement by statement.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux7::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    aux7::init();
+
+    unsafe {
+        // A magic address!
+        const GPIOE_BSRR: u32 = 0x48001018;
+
+        // Turn on the "North" LED (red)
+        *(GPIOE_BSRR as *mut u32) = 1 << 9;
+
+        // Turn on the "East" LED (green)
+        *(GPIOE_BSRR as *mut u32) = 1 << 11;
+
+        // Turn off the "North" LED
+        *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);
+
+        // Turn off the "East" LED
+        *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+    }
+
+    loop {}
+}
+

What's this magic?

+

The address 0x48001018 points to a register. A register is a special region of memory that +controls a peripheral. A peripheral is a piece of electronics that sits right next to the +processor within the microcontroller package and provides the processor with extra functionality. +After all, the processor, on its own, can only do math and logic.

+

This particular register controls General Purpose Input/Output (GPIO) pins (GPIO is a +peripheral) and can be used to drive each of those pins low or high.

+

An aside: LEDs, digital outputs and voltage levels

+

Drive? Pin? Low? High?

+

A pin is a electrical contact. Our microcontroller has several of them and some of them are +connected to LEDs. An LED, a Light Emitting Diode, will only emit light when voltage is applied to +it with a certain polarity.

+

+ +

+

Luckily for us, the microcontroller's pins are connected to the LEDs with the right polarity. All +that we have to do is output some non-zero voltage through the pin to turn the LED on. The pins +attached to the LEDs are configured as digital outputs and can only output two different voltage +levels: "low", 0 Volts, or "high", 3 Volts. A "high" (voltage) level will turn the LED on whereas +a "low" (voltage) level will turn it off.

+

These "low" and "high" states map directly to the concept of digital logic. "low" is 0 or false +and "high" is 1 or true. This is why this pin configuration is known as digital output.

+
+

OK. But how can one find out what this register does? Time to RTRM (Read the Reference Manual)!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/07-registers/openocd.gdb b/f3discovery/07-registers/openocd.gdb new file mode 100644 index 000000000..5db2c66f7 --- /dev/null +++ b/f3discovery/07-registers/openocd.gdb @@ -0,0 +1,11 @@ +target remote :3333 +set print asm-demangle on +set print pretty on +set style sources off +monitor tpiu config internal itm.txt uart off 8000000 +monitor itm port 0 on +load +break main +break DefaultHandler +break HardFault +continue diff --git a/f3discovery/07-registers/optimization.html b/f3discovery/07-registers/optimization.html new file mode 100644 index 000000000..4da665849 --- /dev/null +++ b/f3discovery/07-registers/optimization.html @@ -0,0 +1,432 @@ + + + + + + (mis)Optimization - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

(mis)Optimization

+

Reads/writes to registers are quite special. I may even dare to say that they are embodiment of side +effects. In the previous example we wrote four different values to the same register. If you didn't +know that address was a register, you may have simplified the logic to just write the final value 1 << (11 + 16) into the register.

+

Actually, LLVM, the compiler's backend / optimizer, does not know we are dealing with a register and +will merge the writes thus changing the behavior of our program. Let's check that really quick.

+
$ cargo run --release
+(..)
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7
+7       #[entry]
+
+(gdb) step
+registers::__cortex_m_rt_main () at src/07-registers/src/main.rs:9
+9           aux7::init();
+
+(gdb) next
+25              *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+
+(gdb) disassemble /m
+Dump of assembler code for function _ZN9registers18__cortex_m_rt_main17h45b1ef53e18aa8d0E:
+8       fn main() -> ! {
+   0x08000248 <+0>:     push    {r7, lr}
+   0x0800024a <+2>:     mov     r7, sp
+
+9           aux7::init();
+   0x0800024c <+4>:     bl      0x8000260 <aux7::init>
+   0x08000250 <+8>:     movw    r0, #4120       ; 0x1018
+   0x08000254 <+12>:    mov.w   r1, #134217728  ; 0x8000000
+   0x08000258 <+16>:    movt    r0, #18432      ; 0x4800
+
+10
+11          unsafe {
+12              // A magic address!
+13              const GPIOE_BSRR: u32 = 0x48001018;
+14
+15              // Turn on the "North" LED (red)
+16              *(GPIOE_BSRR as *mut u32) = 1 << 9;
+17
+18              // Turn on the "East" LED (green)
+19              *(GPIOE_BSRR as *mut u32) = 1 << 11;
+20
+21              // Turn off the "North" LED
+22              *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);
+23
+24              // Turn off the "East" LED
+25              *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+=> 0x0800025c <+20>:    str     r1, [r0, #0]
+   0x0800025e <+22>:    b.n     0x800025e <registers::__cortex_m_rt_main+22>
+
+End of assembler dump.
+
+

The state of the LEDs didn't change this time! The str instruction is the one that writes a value +to the register. Our debug (unoptimized) program had four of them, one for each write to the +register, but the release (optimized) program only has one.

+

We can check that using objdump and capture the output to out.asm:

+
# same as cargo objdump -- -d --no-show-raw-insn --print-imm-hex --source target/thumbv7em-none-eabihf/debug/registers
+cargo objdump --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > debug.txt
+
+

Then examine debug.txt looking for main and we see the 4 str instructions:

+
080001ec <main>:
+; #[entry]
+ 80001ec:       push    {r7, lr}
+ 80001ee:       mov     r7, sp
+ 80001f0:       bl      #0x2
+ 80001f4:       trap
+
+080001f6 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2>:
+; fn main() -> ! {
+ 80001f6:       push    {r7, lr}
+ 80001f8:       mov     r7, sp
+;     aux7::init();
+ 80001fa:       bl      #0x3e
+ 80001fe:       b       #-0x2 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2+0xa>
+;         *(GPIOE_BSRR as *mut u32) = 1 << 9;
+ 8000200:       movw    r0, #0x2640
+ 8000204:       movt    r0, #0x800
+ 8000208:       ldr     r0, [r0]
+ 800020a:       movw    r1, #0x1018
+ 800020e:       movt    r1, #0x4800
+ 8000212:       str     r0, [r1]
+;         *(GPIOE_BSRR as *mut u32) = 1 << 11;
+ 8000214:       movw    r0, #0x2648
+ 8000218:       movt    r0, #0x800
+ 800021c:       ldr     r0, [r0]
+ 800021e:       str     r0, [r1]
+;         *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);
+ 8000220:       movw    r0, #0x2650
+ 8000224:       movt    r0, #0x800
+ 8000228:       ldr     r0, [r0]
+ 800022a:       str     r0, [r1]
+;         *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+ 800022c:       movw    r0, #0x2638
+ 8000230:       movt    r0, #0x800
+ 8000234:       ldr     r0, [r0]
+ 8000236:       str     r0, [r1]
+;     loop {}
+ 8000238:       b       #-0x2 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2+0x44>
+ 800023a:       b       #-0x4 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2+0x44>
+ (..)
+
+

How do we prevent LLVM from misoptimizing our program? We use volatile operations instead of plain +reads/writes:

+
#![no_main]
+#![no_std]
+
+use core::ptr;
+
+#[allow(unused_imports)]
+use aux7::entry;
+
+#[entry]
+fn main() -> ! {
+    aux7::init();
+
+    unsafe {
+        // A magic address!
+        const GPIOE_BSRR: u32 = 0x48001018;
+
+        // Turn on the "North" LED (red)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9);
+
+        // Turn on the "East" LED (green)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11);
+
+        // Turn off the "North" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16));
+
+        // Turn off the "East" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16));
+    }
+
+    loop {}
+}
+
+

Generate release.txt using with --release mode.

+
cargo objdump --release --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > release.txt
+
+

Now find the main routine in release.txt and we see the 4 str instructions.

+
0800023e <main>:
+; #[entry]
+ 800023e:       push    {r7, lr}
+ 8000240:       mov     r7, sp
+ 8000242:       bl      #0x2
+ 8000246:       trap
+
+08000248 <registers::__cortex_m_rt_main::h45b1ef53e18aa8d0>:
+; fn main() -> ! {
+ 8000248:       push    {r7, lr}
+ 800024a:       mov     r7, sp
+;     aux7::init();
+ 800024c:       bl      #0x22
+ 8000250:       movw    r0, #0x1018
+ 8000254:       mov.w   r1, #0x200
+ 8000258:       movt    r0, #0x4800
+;         intrinsics::volatile_store(dst, src);
+ 800025c:       str     r1, [r0]
+ 800025e:       mov.w   r1, #0x800
+ 8000262:       str     r1, [r0]
+ 8000264:       mov.w   r1, #0x2000000
+ 8000268:       str     r1, [r0]
+ 800026a:       mov.w   r1, #0x8000000
+ 800026e:       str     r1, [r0]
+ 8000270:       b       #-0x4 <registers::__cortex_m_rt_main::h45b1ef53e18aa8d0+0x28>
+ (..)
+
+

We see that the four writes (str instructions) are preserved. If you run it using +gdb you'll also see that we get the expected behavior.

+
+

NB: The last next will endlessly execute loop {}, use Ctrl-c to get +back to the (gdb) prompt.

+
+
$ cargo run --release
+(..)
+
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9
+9       #[entry]
+
+(gdb) step
+registers::__cortex_m_rt_main () at src/07-registers/src/main.rs:11
+11          aux7::init();
+
+(gdb) next
+18              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9);
+
+(gdb) next
+21              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11);
+
+(gdb) next
+24              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16));
+
+(gdb) next
+27              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16));
+
+(gdb) next
+^C
+Program received signal SIGINT, Interrupt.
+0x08000270 in registers::__cortex_m_rt_main ()
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1124
+1124            intrinsics::volatile_store(dst, src);
+(gdb) 
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/07-registers/rtrm.html b/f3discovery/07-registers/rtrm.html new file mode 100644 index 000000000..7ea6b87f2 --- /dev/null +++ b/f3discovery/07-registers/rtrm.html @@ -0,0 +1,308 @@ + + + + + + RTRM - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

RTRM: Reading The Reference Manual

+

I mentioned that the microcontroller has several pins. For convenience, these pins are grouped in +ports of 16 pins. Each port is named with a letter: Port A, Port B, etc. and the pins within each +port are named with numbers from 0 to 15.

+

The first thing we have to find out is which pin is connected to which LED. This information is in +the STM32F3DISCOVERY User Manual (You downloaded a copy, right?). In this particular section:

+
+

Section 6.4 LEDs - Page 18

+
+

The manual says:

+
    +
  • LD3, the North LED, is connected to the pin PE9. PE9 is the short form of: Pin 9 on Port E.
  • +
  • LD7, the East LED, is connected to the pin PE11.
  • +
+

Up to this point, we know that we want to change the state of the pins PE9 and PE11 to turn the +North/East LEDs on/off. These pins are part of Port E so we'll have to deal with the GPIOE +peripheral.

+

Each peripheral has a register block associated to it. A register block is a collection of +registers allocated in contiguous memory. The address at which the register block starts is known as +its base address. We need to figure out what's the base address of the GPIOE peripheral. That +information is in the following section of the microcontroller Reference Manual:

+
+

Section 3.2.2 Memory map and register boundary addresses - Page 51

+
+

The table says that base address of the GPIOE register block is 0x4800_1000.

+

Each peripheral also has its own section in the documentation. Each of these sections ends with a +table of the registers that the peripheral's register block contains. For the GPIO family of +peripheral, that table is in:

+
+

Section 11.4.12 GPIO register map - Page 243

+
+

'BSRR' is the register which we will be using to set/reset. Its offset value is '0x18' from the base address +of the 'GPIOE'. We can look up BSRR in the reference manual. +GPIO Registers -> GPIO port bit set/reset register (GPIOx_BSRR).

+

Now we need to jump to the documentation of that particular register. It's a few pages above in:

+
+

Section 11.4.7 GPIO port bit set/reset register (GPIOx_BSRR) - Page 240

+
+

Finally!

+

This is the register we were writing to. The documentation says some interesting things. First, this +register is write only ... so let's try reading its value :-).

+

We'll use GDB's examine command: x.

+
(gdb) next
+16              *(GPIOE_BSRR as *mut u32) = 1 << 9;
+
+(gdb) x 0x48001018
+0x48001018:     0x00000000
+
+(gdb) # the next command will turn the North LED on
+(gdb) next
+19              *(GPIOE_BSRR as *mut u32) = 1 << 11;
+
+(gdb) x 0x48001018
+0x48001018:     0x00000000
+
+

Reading the register returns 0. That matches what the documentation says.

+

The other thing that the documentation says is that the bits 0 to 15 can be used to set the +corresponding pin. That is bit 0 sets the pin 0. Here, set means outputting a high value on +the pin.

+

The documentation also says that bits 16 to 31 can be used to reset the corresponding pin. In this +case, the bit 16 resets the pin number 0. As you may guess, reset means outputting a low value +on the pin.

+

Correlating that information with our program, all seems to be in agreement:

+
    +
  • +

    Writing 1 << 9 (BS9 = 1) to BSRR sets PE9 high. That turns the North LED on.

    +
  • +
  • +

    Writing 1 << 11 (BS11 = 1) to BSRR sets PE11 high. That turns the East LED on.

    +
  • +
  • +

    Writing 1 << 25 (BR9 = 1) to BSRR sets PE9 low. That turns the North LED off.

    +
  • +
  • +

    Finally, writing 1 << 27 (BR11 = 1) to BSRR sets PE11 low. That turns the East LED off.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/07-registers/spooky-action-at-a-distance.html b/f3discovery/07-registers/spooky-action-at-a-distance.html new file mode 100644 index 000000000..73941d0e7 --- /dev/null +++ b/f3discovery/07-registers/spooky-action-at-a-distance.html @@ -0,0 +1,313 @@ + + + + + + Spooky action at a distance - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Spooky action at a distance

+

BSRR is not the only register that can control the pins of Port E. The ODR register also lets +you change the value of the pins. Furthermore, ODR also lets you retrieve the current output +status of Port E.

+

ODR is documented in:

+
+

Section 11.4.6 GPIO port output data register - Page 239

+
+

Let's look at this program. The key to this program +is fn iprint_odr. This function prints the current +value in ODR to the ITM console

+
#![no_main]
+#![no_std]
+
+use core::ptr;
+
+#[allow(unused_imports)]
+use aux7::{entry, iprintln, ITM};
+
+// Print the current contents of odr
+fn iprint_odr(itm: &mut ITM) {
+    const GPIOE_ODR: u32 = 0x4800_1014;
+
+    unsafe {
+        iprintln!(
+            &mut itm.stim[0],
+            "ODR = 0x{:04x}",
+            ptr::read_volatile(GPIOE_ODR as *const u16)
+        );
+    }
+}
+
+#[entry]
+fn main() -> ! {
+    let mut itm= aux7::init().0;
+
+    unsafe {
+        // A magic addresses!
+        const GPIOE_BSRR: u32 = 0x4800_1018;
+
+        // Print the initial contents of ODR
+        iprint_odr(&mut itm);
+
+        // Turn on the "North" LED (red)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9);
+        iprint_odr(&mut itm);
+
+        // Turn on the "East" LED (green)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11);
+        iprint_odr(&mut itm);
+
+        // Turn off the "North" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16));
+        iprint_odr(&mut itm);
+
+        // Turn off the "East" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16));
+        iprint_odr(&mut itm);
+    }
+
+    loop {}
+}
+

If you run this program

+
$ cargo run
+(..)
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:22
+22      #[entry]
+
+(gdb) continue
+Continuing.
+
+

You'll see on itmdump's console:

+
$ # itmdump's console
+(..)
+ODR = 0x0000
+ODR = 0x0200
+ODR = 0x0a00
+ODR = 0x0800
+ODR = 0x0000
+
+

Side effects! Although we are reading the same address multiple times without actually modifying it, +we still see its value change every time BSRR is written to.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/07-registers/src/main.rs b/f3discovery/07-registers/src/main.rs new file mode 100644 index 000000000..43b7ba8fd --- /dev/null +++ b/f3discovery/07-registers/src/main.rs @@ -0,0 +1,29 @@ +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux7::{entry, iprint, iprintln}; + +#[entry] +fn main() -> ! { + aux7::init(); + + unsafe { + // A magic address! + const GPIOE_BSRR: u32 = 0x48001018; + + // Turn on the "North" LED (red) + *(GPIOE_BSRR as *mut u32) = 1 << 9; + + // Turn on the "East" LED (green) + *(GPIOE_BSRR as *mut u32) = 1 << 11; + + // Turn off the "North" LED + *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16); + + // Turn off the "East" LED + *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16); + } + + loop {} +} diff --git a/f3discovery/07-registers/type-safe-manipulation.html b/f3discovery/07-registers/type-safe-manipulation.html new file mode 100644 index 000000000..a2fea2112 --- /dev/null +++ b/f3discovery/07-registers/type-safe-manipulation.html @@ -0,0 +1,434 @@ + + + + + + Type safe manipulation - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Type safe manipulation

+

The last register we were working with, ODR, had this in its documentation:

+
+

Bits 31:16 Reserved, must be kept at reset value

+
+

We are not supposed to write to those bits of the register or Bad Stuff May Happen.

+

There's also the fact the registers have different read/write permissions. Some of them are write +only, others can be read and written to and there must be others that are read only.

+

Finally, directly working with hexadecimal addresses is error prone. You already saw that trying to +access an invalid memory address causes an exception which disrupts the execution of our program.

+

Wouldn't it be nice if we had an API to manipulate registers in a "safe" manner? Ideally, the API +should encode these three points I've mentioned: No messing around with the actual addresses, should +respect read/write permissions and should prevent modification of the reserved parts of a register.

+

Well, we do! aux7::init() actually returns a value that provides a type safe API to manipulate the +registers of the GPIOE peripheral.

+

As you may remember: a group of registers associated to a peripheral is called register block, and +it's located in a contiguous region of memory. In this type safe API each register block is modeled +as a struct where each of its fields represents a register. Each register field is a different +newtype over e.g. u32 that exposes a combination of the following methods: read, write or +modify according to its read/write permissions. Finally, these methods don't take primitive values +like u32, instead they take yet another newtype that can be constructed using the builder pattern +and that prevent the modification of the reserved parts of the register.

+

The best way to get familiar with this API is to port our running example to it.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux7::{entry, iprintln, ITM, RegisterBlock};
+
+#[entry]
+fn main() -> ! {
+    let gpioe = aux7::init().1;
+
+    // Turn on the North LED
+    gpioe.bsrr.write(|w| w.bs9().set_bit());
+
+    // Turn on the East LED
+    gpioe.bsrr.write(|w| w.bs11().set_bit());
+
+    // Turn off the North LED
+    gpioe.bsrr.write(|w| w.br9().set_bit());
+
+    // Turn off the East LED
+    gpioe.bsrr.write(|w| w.br11().set_bit());
+
+    loop {}
+}
+

First thing you notice: There are no magic addresses involved. Instead we use a more human friendly +way, for example gpioe.bsrr, to refer to the BSRR register in the GPIOE register block.

+

Then we have this write method that takes a closure. If the identity closure (|w| w) is used, +this method will set the register to its default (reset) value, the value it had right after the +microcontroller was powered on / reset. That value is 0x0 for the BSRR register. Since we want +to write a non-zero value to the register, we use builder methods like bs9 and br9 to set some +of the bits of the default value.

+

Let's run this program! There's some interesting stuff we can do while debugging the program.

+

gpioe is a reference to the GPIOE register block. print gpioe will return the base address of +the register block.

+
$ cargo run
+(..)
+
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7
+7       #[entry]
+
+(gdb) step
+registers::__cortex_m_rt_main () at src/07-registers/src/main.rs:9
+9           let gpioe = aux7::init().1;
+
+(gdb) next
+12          gpioe.bsrr.write(|w| w.bs9().set_bit());
+
+(gdb) print gpioe
+$1 = (*mut stm32f3::stm32f303::gpioc::RegisterBlock) 0x48001000
+
+

But if we instead print *gpioe, we'll get a full view of the register block: the value of each +of its registers will be printed.

+
(gdb) print *gpioe
+$2 = stm32f3::stm32f303::gpioc::RegisterBlock {
+  moder: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_MODER> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 1431633920
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_MODER>
+  },
+  otyper: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_OTYPER> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_OTYPER>
+  },
+  ospeedr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_OSPEEDR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_OSPEEDR>
+  },
+  pupdr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_PUPDR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_PUPDR>
+  },
+  idr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_IDR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 204
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_IDR>
+  },
+  odr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_ODR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_ODR>
+  },
+  bsrr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_BSRR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_BSRR>
+  },
+  lckr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_LCKR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_LCKR>
+  },
+  afrl: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_AFRL> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_AFRL>
+  },
+  afrh: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_AFRH> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_AFRH>
+  },
+  brr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_BRR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_BRR>
+  }
+}
+
+

All these newtypes and closures sound like they'd generate large, bloated programs but, if you +actually compile the program in release mode with LTO enabled, you'll see that it produces exactly +the same instructions that the "unsafe" version that used write_volatile and hexadecimal addresses +did!

+

Use cargo objdump to grab the assembler code to release.txt:

+
cargo objdump --bin registers --release -- -d --no-show-raw-insn --print-imm-hex > release.txt
+
+

Then search for main in release.txt

+
0800023e <main>:
+ 800023e:      	push	{r7, lr}
+ 8000240:      	mov	r7, sp
+ 8000242:      	bl	#0x2
+ 8000246:      	trap
+
+08000248 <registers::__cortex_m_rt_main::h199f1359501d5c71>:
+ 8000248:      	push	{r7, lr}
+ 800024a:      	mov	r7, sp
+ 800024c:      	bl	#0x22
+ 8000250:      	movw	r0, #0x1018
+ 8000254:      	mov.w	r1, #0x200
+ 8000258:      	movt	r0, #0x4800
+ 800025c:      	str	r1, [r0]
+ 800025e:      	mov.w	r1, #0x800
+ 8000262:      	str	r1, [r0]
+ 8000264:      	mov.w	r1, #0x2000000
+ 8000268:      	str	r1, [r0]
+ 800026a:      	mov.w	r1, #0x8000000
+ 800026e:      	str	r1, [r0]
+ 8000270:      	b	#-0x4 <registers::__cortex_m_rt_main::h199f1359501d5c71+0x28>
+
+

The best part of all this is that nobody had to write a single line of code to implement the +GPIOE API. All the code was automatically generated from a System View Description (SVD) file using the +svd2rust tool. This SVD file is actually an XML file that microcontroller vendors provide and that +contains the register maps of their microcontrollers. The file contains the layout of register +blocks, the base addresses, the read/write permissions of each register, the layout of the +registers, whether a register has reserved bits and lots of other useful information.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/08-leds-again/Cargo.toml b/f3discovery/08-leds-again/Cargo.toml new file mode 100644 index 000000000..a93003bfd --- /dev/null +++ b/f3discovery/08-leds-again/Cargo.toml @@ -0,0 +1,8 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "leds-again" +version = "0.1.0" + +[dependencies] +aux8 = { path = "auxiliary" } diff --git a/f3discovery/08-leds-again/auxiliary/Cargo.toml b/f3discovery/08-leds-again/auxiliary/Cargo.toml new file mode 100644 index 000000000..a2c67f3b4 --- /dev/null +++ b/f3discovery/08-leds-again/auxiliary/Cargo.toml @@ -0,0 +1,14 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "aux8" +version = "0.1.0" + +[dependencies] +cortex-m = "0.6.3" +cortex-m-rt = "0.6.3" +panic-itm = "0.4.0" + +[dependencies.f3] +features = ["rt"] +version = "0.6.1" diff --git a/f3discovery/08-leds-again/auxiliary/src/lib.rs b/f3discovery/08-leds-again/auxiliary/src/lib.rs new file mode 100644 index 000000000..a159cd107 --- /dev/null +++ b/f3discovery/08-leds-again/auxiliary/src/lib.rs @@ -0,0 +1,19 @@ +//! Initialization code + +#![no_std] + +#[allow(unused_extern_crates)] // NOTE(allow) bug rust-lang/rust#53964 +extern crate panic_itm; // panic handler + +pub use cortex_m::asm::bkpt; +pub use cortex_m_rt::entry; +pub use f3::hal::stm32f30x::{gpioc, rcc}; + +use f3::hal::stm32f30x::{self, GPIOE, RCC}; + +pub fn init() -> (&'static gpioc::RegisterBlock, &'static rcc::RegisterBlock) { + // restrict access to the other peripherals + (stm32f30x::Peripherals::take().unwrap()); + + unsafe { (&*GPIOE::ptr(), &*RCC::ptr()) } +} diff --git a/f3discovery/08-leds-again/configuration.html b/f3discovery/08-leds-again/configuration.html new file mode 100644 index 000000000..bdf9d0b70 --- /dev/null +++ b/f3discovery/08-leds-again/configuration.html @@ -0,0 +1,249 @@ + + + + + + Configuration - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Configuration

+

After turning on the GPIOE peripheral, it still needs to be configured. In this case, we +want the pins to be configured as digital outputs so they can drive the LEDs; by default, most +pins are configured as digital inputs.

+

You can find the list of registers in the GPIOE register block in:

+
+

Section 11.4.12 - GPIO registers - Page 243 - Reference Manual

+
+

The register we'll have to deal with is: MODER.

+

Your task for this section is to further update the starter code to configure the right GPIOE +pins as digital outputs. You'll have to:

+
    +
  • Figure out which pins you need to configure as digital outputs. (hint: check Section 6.4 LEDs of +the User Manual (page 18)).
  • +
  • Read the documentation to understand what the bits in the MODER register do.
  • +
  • Modify the MODER register to configure the pins as digital outputs.
  • +
+

If successful, you'll see the 8 LEDs turn on when you run the program.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/08-leds-again/index.html b/f3discovery/08-leds-again/index.html new file mode 100644 index 000000000..94ca2ea1d --- /dev/null +++ b/f3discovery/08-leds-again/index.html @@ -0,0 +1,366 @@ + + + + + + LEDs, again - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

LEDs, again

+

In the last section, I gave you initialized (configured) peripherals (I initialized them in +aux7::init). That's why just writing to BSRR was enough to control the LEDs. But, peripherals +are not initialized right after the microcontroller boots.

+

In this section, you'll have more fun with registers. I won't do any initialization and you'll have +to initialize and configure GPIOE pins as digital outputs pins so that you'll be able to drive LEDs +again.

+

This is the starter code.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux8::entry;
+
+#[entry]
+fn main() -> ! {
+    let (gpioe, rcc) = aux8::init();
+
+    // TODO initialize GPIOE
+
+    // Turn on all the LEDs in the compass
+    gpioe.odr.write(|w| {
+        w.odr8().set_bit();
+        w.odr9().set_bit();
+        w.odr10().set_bit();
+        w.odr11().set_bit();
+        w.odr12().set_bit();
+        w.odr13().set_bit();
+        w.odr14().set_bit();
+        w.odr15().set_bit()
+    });
+
+    aux8::bkpt();
+
+    loop {}
+}
+

If you run the starter code, you'll see that nothing happens this time. Furthermore, if you print +the GPIOE register block, you'll see that every register reads as zero even after the +gpioe.odr.write statement was executed!

+
$ cargo run
+Breakpoint 1, main () at src/08-leds-again/src/main.rs:9
+9           let (gpioe, rcc) = aux8::init();
+
+(gdb) continue
+Continuing.
+
+Program received signal SIGTRAP, Trace/breakpoint trap.
+0x08000f3c in __bkpt ()
+
+(gdb) finish
+Run till exit from #0  0x08000f3c in __bkpt ()
+main () at src/08-leds-again/src/main.rs:25
+25          aux8::bkpt();
+
+(gdb) p/x *gpioe
+$1 = stm32f30x::gpioc::RegisterBlock {
+  moder: stm32f30x::gpioc::MODER {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  otyper: stm32f30x::gpioc::OTYPER {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  ospeedr: stm32f30x::gpioc::OSPEEDR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  pupdr: stm32f30x::gpioc::PUPDR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  idr: stm32f30x::gpioc::IDR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  odr: stm32f30x::gpioc::ODR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  bsrr: stm32f30x::gpioc::BSRR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  lckr: stm32f30x::gpioc::LCKR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  afrl: stm32f30x::gpioc::AFRL {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  afrh: stm32f30x::gpioc::AFRH {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  brr: stm32f30x::gpioc::BRR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  }
+}
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/08-leds-again/openocd.gdb b/f3discovery/08-leds-again/openocd.gdb new file mode 100644 index 000000000..df15d79d3 --- /dev/null +++ b/f3discovery/08-leds-again/openocd.gdb @@ -0,0 +1,10 @@ +target remote :3333 +set print asm-demangle on +set print pretty on +monitor tpiu config internal itm.txt uart off 8000000 +monitor itm port 0 on +load +break DefaultHandler +break HardFault +break main +continue diff --git a/f3discovery/08-leds-again/power.html b/f3discovery/08-leds-again/power.html new file mode 100644 index 000000000..73ada22f8 --- /dev/null +++ b/f3discovery/08-leds-again/power.html @@ -0,0 +1,258 @@ + + + + + + Power - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Power

+

Turns out that, to save power, most peripherals start in a powered off state -- that's their state +right after the microcontroller boots.

+

The Reset and Clock Control (RCC) peripheral can be used to power on or off every other +peripheral.

+

You can find the list of registers in the RCC register block in:

+
+

Section 9.4.14 - RCC register map - Page 166 - Reference Manual

+
+

The registers that control the power status of other peripherals are:

+
    +
  • AHBENR
  • +
  • APB1ENR
  • +
  • APB2ENR
  • +
+

Each bit in these registers controls the power status of a single peripheral, including GPIOE.

+

Your task in this section is to power on the GPIOE peripheral. You'll have to:

+
    +
  • Figure out which of the three registers I mentioned before has the bit that controls the power +status.
  • +
  • Figure out what value that bit must be set to,0 or 1, to power on the GPIOE peripheral.
  • +
  • Finally, you'll have to change the starter code to modify the right register to turn on the +GPIOE peripheral.
  • +
+

If you are successful, you'll see that the gpioe.odr.write statement will now be able to modify +the value of the ODR register.

+

Note that this won't be enough to actually turn on the LEDs.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/08-leds-again/src/main.rs b/f3discovery/08-leds-again/src/main.rs new file mode 100644 index 000000000..cdb7c8e3a --- /dev/null +++ b/f3discovery/08-leds-again/src/main.rs @@ -0,0 +1,28 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use aux8::entry; + +#[entry] +fn main() -> ! { + let (gpioe, rcc) = aux8::init(); + + // TODO initialize GPIOE + + // Turn on all the LEDs in the compass + gpioe.odr.write(|w| { + w.odr8().set_bit(); + w.odr9().set_bit(); + w.odr10().set_bit(); + w.odr11().set_bit(); + w.odr12().set_bit(); + w.odr13().set_bit(); + w.odr14().set_bit(); + w.odr15().set_bit() + }); + + aux8::bkpt(); + + loop {} +} diff --git a/f3discovery/08-leds-again/the-solution.html b/f3discovery/08-leds-again/the-solution.html new file mode 100644 index 000000000..2a5cfcc8f --- /dev/null +++ b/f3discovery/08-leds-again/the-solution.html @@ -0,0 +1,273 @@ + + + + + + The solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux8::entry;
+
+#[entry]
+fn main() -> ! {
+    let (gpioe, rcc) = aux8::init();
+
+    // enable the GPIOE peripheral
+    rcc.ahbenr.write(|w| w.iopeen().set_bit());
+
+    // configure the pins as outputs
+    gpioe.moder.write(|w| {
+        w.moder8().output();
+        w.moder9().output();
+        w.moder10().output();
+        w.moder11().output();
+        w.moder12().output();
+        w.moder13().output();
+        w.moder14().output();
+        w.moder15().output()
+    });
+
+    // Turn on all the LEDs in the compass
+    gpioe.odr.write(|w| {
+        w.odr8().set_bit();
+        w.odr9().set_bit();
+        w.odr10().set_bit();
+        w.odr11().set_bit();
+        w.odr12().set_bit();
+        w.odr13().set_bit();
+        w.odr14().set_bit();
+        w.odr15().set_bit()
+    });
+
+    aux8::bkpt();
+
+    loop {}
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/Cargo.toml b/f3discovery/09-clocks-and-timers/Cargo.toml new file mode 100644 index 000000000..5444b4ffb --- /dev/null +++ b/f3discovery/09-clocks-and-timers/Cargo.toml @@ -0,0 +1,9 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "clocks-and-timers" +version = "0.1.0" + +[dependencies] +aux9 = { path = "auxiliary" } +cortex-m-rt = "0.6.3" diff --git a/f3discovery/09-clocks-and-timers/auxiliary/Cargo.toml b/f3discovery/09-clocks-and-timers/auxiliary/Cargo.toml new file mode 100644 index 000000000..f928adb4b --- /dev/null +++ b/f3discovery/09-clocks-and-timers/auxiliary/Cargo.toml @@ -0,0 +1,15 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "aux9" +version = "0.1.0" + +[dependencies] +cortex-m = "0.6.3" +cortex-m-rt = "0.6.3" +panic-itm = "0.4.0" +stm32f3-discovery = "0.6.0" + +[dependencies.stm32f3] +version = "0.12.1" +features = ["stm32f303", "rt"] diff --git a/f3discovery/09-clocks-and-timers/auxiliary/src/lib.rs b/f3discovery/09-clocks-and-timers/auxiliary/src/lib.rs new file mode 100644 index 000000000..3819f61f8 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/auxiliary/src/lib.rs @@ -0,0 +1,43 @@ +//! Initialization code + +#![no_std] + +#[allow(unused_extern_crates)] // NOTE(allow) rust-lang/rust#53964 +extern crate panic_itm; // panic handler + +pub use cortex_m::asm::{bkpt, nop}; +pub use cortex_m_rt::entry; +pub use stm32f3::stm32f303::{rcc, tim6, RCC, TIM6}; +pub use stm32f3_discovery::switch_hal; + +use stm32f3_discovery::{ + leds::Leds, + stm32f3xx_hal::{prelude::*, stm32}, +}; + +pub fn init() -> ( + Leds, + &'static rcc::RegisterBlock, + &'static tim6::RegisterBlock, +) { + let p = stm32::Peripherals::take().unwrap(); + + let mut rcc = p.RCC.constrain(); + + let mut gpioe = p.GPIOE.split(&mut rcc.ahb); + + let leds = Leds::new( + gpioe.pe8, + gpioe.pe9, + gpioe.pe10, + gpioe.pe11, + gpioe.pe12, + gpioe.pe13, + gpioe.pe14, + gpioe.pe15, + &mut gpioe.moder, + &mut gpioe.otyper, + ); + + (leds, unsafe { &*RCC::ptr() }, unsafe { &*TIM6::ptr() }) +} diff --git a/f3discovery/09-clocks-and-timers/busy-waiting.html b/f3discovery/09-clocks-and-timers/busy-waiting.html new file mode 100644 index 000000000..706d064b6 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/busy-waiting.html @@ -0,0 +1,266 @@ + + + + + + Busy waiting - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Busy waiting

+

The timer should now be properly initialized. All that's left is to implement the delay function +using the timer.

+

First thing we have to do is set the autoreload register (ARR) to make the timer go off in ms +milliseconds. Because the counter operates at 1 KHz, the autoreload value will be the same as ms.

+
#![allow(unused)]
+fn main() {
+    // Set the timer to go off in `ms` ticks
+    // 1 tick = 1 ms
+    tim6.arr.write(|w| w.arr().bits(ms));
+}
+

Next, we need to enable the counter. It will immediately start counting.

+
#![allow(unused)]
+fn main() {
+    // CEN: Enable the counter
+    tim6.cr1.modify(|_, w| w.cen().set_bit());
+}
+

Now we need to wait until the counter reaches the value of the autoreload register, ms, then we'll +know that ms milliseconds have passed. That condition is known as an update event and its +indicated by the UIF bit of the status register (SR).

+
#![allow(unused)]
+fn main() {
+    // Wait until the alarm goes off (until the update event occurs)
+    while !tim6.sr.read().uif().bit_is_set() {}
+}
+

This pattern of just waiting until some condition is met, in this case that UIF becomes 1, is +known as busy waiting and you'll see it a few more times in this text :-).

+

Finally, we must clear (set to 0) this UIF bit. If we don't, next time we enter the delay +function we'll think the update event has already happened and skip over the busy waiting part.

+
#![allow(unused)]
+fn main() {
+    // Clear the update event flag
+    tim6.sr.modify(|_, w| w.uif().clear_bit());
+}
+

Now, put this all together and check if it works as expected.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/for-loop-delays.html b/f3discovery/09-clocks-and-timers/for-loop-delays.html new file mode 100644 index 000000000..d59d4857c --- /dev/null +++ b/f3discovery/09-clocks-and-timers/for-loop-delays.html @@ -0,0 +1,254 @@ + + + + + + for loop delays - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

for loop delays

+

The first challenge is to implement the delay function without using any peripheral and the +obvious solution is to implement it as a for loop delay:

+
#![allow(unused)]
+fn main() {
+#[inline(never)]
+fn delay(tim6: &tim6::RegisterBlock, ms: u16) {
+    for _ in 0..1_000 {}
+}
+}
+

Of course, the above implementation is wrong because it always generates the same delay for any +value of ms.

+

In this section, you'll have to:

+
    +
  • Fix the delay function to generate delays proportional to its input ms.
  • +
  • Tweak the delay function to make the LED roulette spin at a rate of approximately 5 cycles in 4 +seconds (800 milliseconds period).
  • +
  • The processor inside the microcontroller is clocked at 72 MHz and executes most instructions in one +"tick", a cycle of its clock. How many (for) loops do you think the delay function must do +to generate a delay of 1 second?
  • +
  • How many for loops does delay(1000) actually do?
  • +
  • What happens if compile your program in release mode and run it?
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/index.html b/f3discovery/09-clocks-and-timers/index.html new file mode 100644 index 000000000..a670a9dd6 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/index.html @@ -0,0 +1,265 @@ + + + + + + Clocks and timers - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Clocks and timers

+

In this section, we'll re-implement the LED roulette application. I'm going to give you back the +Led abstraction but this time I'm going to take away the Delay abstraction :-).

+

Here's the starter code. The delay function is unimplemented so if you run this program the LEDs +will blink so fast that they'll appear to always be on.

+
#![no_main]
+#![no_std]
+
+use aux9::{entry, switch_hal::OutputSwitch, tim6};
+
+#[inline(never)]
+fn delay(tim6: &tim6::RegisterBlock, ms: u16) {
+    // TODO implement this
+}
+
+#[entry]
+fn main() -> ! {
+    let (leds, rcc, tim6) = aux9::init();
+    let mut leds = leds.into_array();
+
+    // TODO initialize TIM6
+
+    let ms = 50;
+    loop {
+        for curr in 0..8 {
+            let next = (curr + 1) % 8;
+
+            leds[next].on().unwrap();
+            delay(tim6, ms);
+            leds[curr].off().unwrap();
+            delay(tim6, ms);
+        }
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/initialization.html b/f3discovery/09-clocks-and-timers/initialization.html new file mode 100644 index 000000000..f7df9bed8 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/initialization.html @@ -0,0 +1,260 @@ + + + + + + Initialization - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Initialization

+

As with every other peripheral, we'll have to initialize this timer before we can use it. And just +as in the previous section, initialization is going to involve two steps: powering up the timer and +then configuring it.

+

Powering up the timer is easy: We just have to set TIM6EN bit to 1. This bit is in the APB1ENR +register of the RCC register block.

+
#![allow(unused)]
+fn main() {
+    // Power on the TIM6 timer
+    rcc.apb1enr.modify(|_, w| w.tim6en().set_bit());
+}
+

The configuration part is slightly more elaborate.

+

First, we'll have to configure the timer to operate in one pulse mode.

+
#![allow(unused)]
+fn main() {
+    // OPM Select one pulse mode
+    // CEN Keep the counter disabled for now
+    tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit());
+}
+

Then, we'll like to have the CNT counter operate at a frequency of 1 KHz because our delay +function takes a number of milliseconds as arguments and 1 KHz produces a 1 millisecond period. For +that we'll have to configure the prescaler.

+
#![allow(unused)]
+fn main() {
+    // Configure the prescaler to have the counter operate at 1 KHz
+    tim6.psc.write(|w| w.psc().bits(psc));
+}
+

I'm going to let you figure out the value of the prescaler, psc. Remember that the frequency of +the counter is apb1 / (psc + 1) and that apb1 is 8 MHz.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/nop.html b/f3discovery/09-clocks-and-timers/nop.html new file mode 100644 index 000000000..ba3d9b845 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/nop.html @@ -0,0 +1,268 @@ + + + + + + NOP - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

NOP

+

If in the previous section you compiled the program in release mode and actually looked at the +disassembly, you probably noticed that the delay function is optimized away and never gets called +from within main.

+

LLVM decided that the function wasn't doing anything worthwhile and just removed it.

+

There is a way to prevent LLVM from optimizing the for loop delay: add a volatile assembly +instruction. Any instruction will do but NOP (No OPeration) is a particular good choice in this case +because it has no side effect.

+

Your for loop delay would become:

+
#![allow(unused)]
+fn main() {
+#[inline(never)]
+fn delay(_tim6: &tim6::RegisterBlock, ms: u16) {
+    const K: u16 = 3; // this value needs to be tweaked
+    for _ in 0..(K * ms) {
+        aux9::nop()
+    }
+}
+}
+

And this time delay won't be compiled away by LLVM when you compile your program in release mode:

+
$ cargo objdump --bin clocks-and-timers --release -- -d --no-show-raw-insn
+clocks-and-timers:      file format ELF32-arm-little
+
+Disassembly of section .text:
+clocks_and_timers::delay::h711ce9bd68a6328f:
+ 8000188:       push    {r4, r5, r7, lr}
+ 800018a:       movs    r4, #0
+ 800018c:       adds    r4, #1
+ 800018e:       uxth    r5, r4
+ 8000190:       bl      #4666
+ 8000194:       cmp     r5, #150
+ 8000196:       blo     #-14 <clocks_and_timers::delay::h711ce9bd68a6328f+0x4>
+ 8000198:       pop     {r4, r5, r7, pc}
+
+

Now, test this: Compile the program in debug mode and run it, then compile the program in release +mode and run it. What's the difference between them? What do you think is the main cause of the +difference? Can you think of a way to make them equivalent or at least more similar again?

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/one-shot-timer.html b/f3discovery/09-clocks-and-timers/one-shot-timer.html new file mode 100644 index 000000000..aa70a166e --- /dev/null +++ b/f3discovery/09-clocks-and-timers/one-shot-timer.html @@ -0,0 +1,273 @@ + + + + + + One-shot timer - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

One-shot timer

+

I hope that, by now, I have convinced you that for loop delays are a poor way to implement delays.

+

Now, we'll implement delays using a hardware timer. The basic function of a (hardware) timer is +... to keep precise track of time. A timer is yet another peripheral that's available to the +microcontroller; thus it can be controlled using registers.

+

The microcontroller we are using has several (in fact, more than 10) timers of different kinds +(basic, general purpose, and advanced timers) available to it. Some timers have more resolution +(number of bits) than others and some can be used for more than just keeping track of time.

+

We'll be using one of the basic timers: TIM6. This is one of the simplest timers available in +our microcontroller. The documentation for basic timers is in the following section:

+
+

Section 22 Timers - Page 670 - Reference Manual

+
+

Its registers are documented in:

+
+

Section 22.4.9 TIM6/TIM7 register map - Page 682 - Reference Manual

+
+

The registers we'll be using in this section are:

+
    +
  • SR, the status register.
  • +
  • EGR, the event generation register.
  • +
  • CNT, the counter register.
  • +
  • PSC, the prescaler register.
  • +
  • ARR, the autoreload register.
  • +
+

We'll be using the timer as a one-shot timer. It will sort of work like an alarm clock. We'll set +the timer to go off after some amount of time and then we'll wait until the timer goes off. The +documentation refers to this mode of operation as one pulse mode.

+

Here's a description of how a basic timer works when configured in one pulse mode:

+
    +
  • The counter is enabled by the user (CR1.CEN = 1).
  • +
  • The CNT register resets its value to zero and, on each tick, its value gets incremented by one.
  • +
  • Once the CNT register has reached the value of the ARR register, the counter will be disabled +by hardware (CR1.CEN = 0) and an update event will be raised (SR.UIF = 1).
  • +
+

TIM6 is driven by the APB1 clock, whose frequency doesn't have to necessarily match the processor +frequency. That is, the APB1 clock could be running faster or slower. The default, however, is that +both APB1 and the processor are clocked at 8 MHz.

+

The tick mentioned in the functional description of the one pulse mode is not the same as one +tick of the APB1 clock. The CNT register increases at a frequency of apb1 / (psc + 1) +times per second, where apb1 is the frequency of the APB1 clock and psc is the value of the +prescaler register, PSC.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/openocd.gdb b/f3discovery/09-clocks-and-timers/openocd.gdb new file mode 100644 index 000000000..df15d79d3 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/openocd.gdb @@ -0,0 +1,10 @@ +target remote :3333 +set print asm-demangle on +set print pretty on +monitor tpiu config internal itm.txt uart off 8000000 +monitor itm port 0 on +load +break DefaultHandler +break HardFault +break main +continue diff --git a/f3discovery/09-clocks-and-timers/putting-it-all-together.html b/f3discovery/09-clocks-and-timers/putting-it-all-together.html new file mode 100644 index 000000000..3c5559069 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/putting-it-all-together.html @@ -0,0 +1,284 @@ + + + + + + Putting it all together - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Putting it all together

+
#![no_main]
+#![no_std]
+
+use aux9::{entry, switch_hal::OutputSwitch, tim6};
+
+#[inline(never)]
+fn delay(tim6: &tim6::RegisterBlock, ms: u16) {
+    // Set the timer to go off in `ms` ticks
+    // 1 tick = 1 ms
+    tim6.arr.write(|w| w.arr().bits(ms));
+
+    // CEN: Enable the counter
+    tim6.cr1.modify(|_, w| w.cen().set_bit());
+
+    // Wait until the alarm goes off (until the update event occurs)
+    while !tim6.sr.read().uif().bit_is_set() {}
+
+    // Clear the update event flag
+    tim6.sr.modify(|_, w| w.uif().clear_bit());
+}
+
+#[entry]
+fn main() -> ! {
+    let (leds, rcc, tim6) = aux9::init();
+    let mut leds = leds.into_array();
+
+    // Power on the TIM6 timer
+    rcc.apb1enr.modify(|_, w| w.tim6en().set_bit());
+
+    // OPM Select one pulse mode
+    // CEN Keep the counter disabled for now
+    tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit());
+
+    // Configure the prescaler to have the counter operate at 1 KHz
+    // APB1_CLOCK = 8 MHz
+    // PSC = 7999
+    // 8 MHz / (7999 + 1) = 1 KHz
+    // The counter (CNT) will increase on every millisecond
+    tim6.psc.write(|w| w.psc().bits(7_999));
+
+    let ms = 50;
+    loop {
+        for curr in 0..8 {
+            let next = (curr + 1) % 8;
+
+            leds[next].on().unwrap();
+            delay(tim6, ms);
+            leds[curr].off().unwrap();
+            delay(tim6, ms);
+        }
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/09-clocks-and-timers/src/main.rs b/f3discovery/09-clocks-and-timers/src/main.rs new file mode 100644 index 000000000..9e3bec782 --- /dev/null +++ b/f3discovery/09-clocks-and-timers/src/main.rs @@ -0,0 +1,29 @@ +#![no_main] +#![no_std] + +use aux9::{entry, switch_hal::OutputSwitch, tim6}; + +#[inline(never)] +fn delay(tim6: &tim6::RegisterBlock, ms: u16) { + // TODO implement this +} + +#[entry] +fn main() -> ! { + let (leds, rcc, tim6) = aux9::init(); + let mut leds = leds.into_array(); + + // TODO initialize TIM6 + + let ms = 50; + loop { + for curr in 0..8 { + let next = (curr + 1) % 8; + + leds[next].on().unwrap(); + delay(tim6, ms); + leds[curr].off().unwrap(); + delay(tim6, ms); + } + } +} diff --git a/f3discovery/10-serial-communication/index.html b/f3discovery/10-serial-communication/index.html new file mode 100644 index 000000000..b906b9c3f --- /dev/null +++ b/f3discovery/10-serial-communication/index.html @@ -0,0 +1,273 @@ + + + + + + Serial communication - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Serial communication

+ +

+ +

+
+

+This is what we'll be using. I hope your computer has one! +

+

Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got +replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but +with the communication protocol that this cable is/was usually used for.

+

So what's this serial communication? It's an asynchronous communication protocol where two +devices exchange data serially, as in one bit at a time, using two data lines (plus a common +ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock +signal. Instead both parties must agree on how fast data will be sent along the wire before the +communication occurs. This protocol allows duplex communication as data can be sent from A to B +and from B to A simultaneously.

+

We'll be using this protocol to exchange data between the microcontroller and your computer. In +contrast to the ITM protocol we have used before, with the serial communication protocol you can +send data from your computer to the microcontroller.

+

The next practical question you probably want to ask is: How fast can we send data through this +protocol?

+

This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 +to 2 stop bits. The speed of the protocol is known as baud rate and it's quoted in bits per +second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps.

+

To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 +stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each +one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data +rate will probably be lower because of processing times on the slower side of the communication (the +microcontroller).

+

Today's computers don't support the serial communication protocol. So you can't directly connect +your computer to the microcontroller. But that's where the serial module comes in. This module will +sit between the two and expose a serial interface to the microcontroller and an USB interface to +your computer. The microcontroller will see your computer as another serial device and your computer +will see the microcontroller as a virtual serial device.

+

Now, let's get familiar with the serial module and the serial communication tools that your OS +offers. Pick a route:

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/10-serial-communication/loopbacks.html b/f3discovery/10-serial-communication/loopbacks.html new file mode 100644 index 000000000..002a0d40c --- /dev/null +++ b/f3discovery/10-serial-communication/loopbacks.html @@ -0,0 +1,267 @@ + + + + + + Loopbacks - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Loopbacks

+

We've tested sending data. It's time to test receiving it. Except that there's no other device that +can send us some data ... or is there?

+

Enter: loopbacks

+

+ +

+

You can send data to yourself! Not very useful in production but very useful for debugging.

+

Older board revision / external serial module

+

Connect the TXO and the RXI pins of the serial module together using a male to male jumper wire +as shown above.

+

Now enter some text into minicom/PuTTY and observe. What happens?

+

You should see three things:

+
    +
  • As before, the TX (red) LED blinks on each key press.
  • +
  • But now the RX (green) LED blinks on each key press as well! This indicates that the serial module +is receiving some data; the one it just sent.
  • +
  • Finally, on the minicom/PuTTY console, you should see that what you type echoes back to the +console.
  • +
+

Newer board revision

+

If you have a newer revision of the board you can set up a loopback by shorting +the PC4 and PC5 pins using a female to female jumper wire, like you did for the +SWO pin.

+

You should now be able to send data to yourself.

+

Now try to enter some text into minicom/PuTTY and observe.

+
+

NOTE: To rule out the possibility of the existing firmware doing weird +things to the serial pins (PC4 and PC5) we recommend holding the reset +button while you enter text into minicom/PuTTY.

+
+

If all is working you should see what you type echoed back to minicom/PuTTY +console.

+
+

Now that you are familiar with sending and receiving data over serial port using minicom/PuTTY, +let's make your microcontroller and your computer talk!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/10-serial-communication/nix-tooling.html b/f3discovery/10-serial-communication/nix-tooling.html new file mode 100644 index 000000000..715509907 --- /dev/null +++ b/f3discovery/10-serial-communication/nix-tooling.html @@ -0,0 +1,319 @@ + + + + + + *nix tooling - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

*nix tooling

+

Newer revisions of the discovery board

+

With newer revisions, if you connect the discovery board to your computer you +should see a new TTY device appear in /dev.

+
$ # Linux
+$ dmesg | tail | grep -i tty
+[13560.675310] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device
+
+

This is the USB <-> Serial device. On Linux, it's named tty* (usually +ttyACM* or ttyUSB*).

+

If you don't see the device appear then you probably have an older revision of +the board; check the next section, which contains instructions for older +revisions. If you do have a newer revision skip the next section and move to the +"minicom" section.

+

Older revisions of the discovery board / external serial module

+

Connect the serial module to your computer and let's find out what name the OS assigned to it.

+
+

NOTE On macs, the USB device will named like this: /dev/cu.usbserial-*. You won't +find it using dmesg, instead use ls -l /dev | grep cu.usb and adjust the following +commands accordingly!

+
+
$ dmesg | grep -i tty
+(..)
+[  +0.000155] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0
+
+

But what's this ttyUSB0 thing? It's a file of course! Everything is a file in *nix:

+
$ ls -l /dev/ttyUSB0
+crw-rw-rw- 1 root uucp 188, 0 Oct 27 00:00 /dev/ttyUSB0
+
+
+

NOTE if the permissions above is crw-rw----, the udev rules have not been set correctly +see udev rules

+
+

You can send out data by simply writing to this file:

+
$ echo 'Hello, world!' > /dev/ttyUSB0
+
+

You should see the TX (red) LED on the serial module blink, just once and very fast!

+

All revisions: minicom

+

Dealing with serial devices using echo is far from ergonomic. So, we'll use the program minicom +to interact with the serial device using the keyboard.

+

We must configure minicom before we use it. There are quite a few ways to do that but we'll use a +.minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following +contents:

+
$ cat ~/.minirc.dfl
+pu baudrate 115200
+pu bits 8
+pu parity N
+pu stopbits 1
+pu rtscts No
+pu xonxoff No
+
+
+

NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it.

+
+

That file should be straightforward to read (except for the last two lines), but nonetheless let's +go over it line by line:

+
    +
  • pu baudrate 115200. Sets baud rate to 115200 bps.
  • +
  • pu bits 8. 8 bits per frame.
  • +
  • pu parity N. No parity check.
  • +
  • pu stopbits 1. 1 stop bit.
  • +
  • pu rtscts No. No hardware control flow.
  • +
  • pu xonxoff No. No software control flow.
  • +
+

Once that's in place, we can launch minicom.

+
$ # NOTE you may need to use a different device here
+$ minicom -D /dev/ttyACM0 -b 115200
+
+

This tells minicom to open the serial device at /dev/ttyACM0 and set its +baud rate to 115200. A text-based user interface (TUI) will pop out.

+

+ +

+

You can now send data using the keyboard! Go ahead and type something. Note that +the TUI will not echo back what you type but, if you are using an external +module, you may see some LED on the module blink with each keystroke.

+

minicom commands

+

minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On +mac, the shortcuts start with the Meta key. Some useful commands below:

+
    +
  • Ctrl+A + Z. Minicom Command Summary
  • +
  • Ctrl+A + C. Clear the screen
  • +
  • Ctrl+A + X. Exit and reset
  • +
  • Ctrl+A + Q. Quit with no reset
  • +
+
+

NOTE mac users: In the above commands, replace Ctrl+A with Meta.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/10-serial-communication/windows-tooling.html b/f3discovery/10-serial-communication/windows-tooling.html new file mode 100644 index 000000000..1a61d4b83 --- /dev/null +++ b/f3discovery/10-serial-communication/windows-tooling.html @@ -0,0 +1,273 @@ + + + + + + Windows tooling - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Windows tooling

+

Start by unplugging your discovery board.

+

Before plugging the discovery board or the serial module, run the following command on +the terminal:

+
$ mode
+
+

It will print a list of devices that are connected to your computer. The ones that start with COM in +their names are serial devices. This is the kind of device we'll be working with. Take note of all +the COM ports mode outputs before plugging the serial module.

+

Now, plug the discovery board and run the mode command again. If you see a new +COM port appear on the list then you have a newer revision of the discovery +and that's the COM port assigned to the serial functionality on the discovery. +You can skip the next paragraph.

+

If you didn't get a new COM port then you probably have an older revision of the +discovery. Now plug the serial module; you should see new COM port appear; +that's the COM port of the serial module.

+

Now launch putty. A GUI will pop out.

+

+ +

+

On the starter screen, which should have the "Session" category open, pick "Serial" as the +"Connection type". On the "Serial line" field enter the COM device you got on the previous step, +for example COM3.

+

+ +

+

Next, pick the "Connection/Serial" category from the menu on the left. On this new view, make sure +that the serial port is configured as follows:

+
    +
  • "Speed (baud)": 115200
  • +
  • "Data bits": 8
  • +
  • "Stop bits": 1
  • +
  • "Parity": None
  • +
  • "Flow control": None
  • +
+

Finally, click the Open button. A console will show up now:

+

+ +

+

If you type on this console, the TX (red) LED on the Serial module should blink. Each key stroke +should make the LED blink once. Note that the console won't echo back what you type so the screen +will remain blank.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/Cargo.toml b/f3discovery/11-usart/Cargo.toml new file mode 100644 index 000000000..1cb39274d --- /dev/null +++ b/f3discovery/11-usart/Cargo.toml @@ -0,0 +1,14 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "usart" +version = "0.1.0" + +[dependencies.aux11] +path = "auxiliary" +# enable this if you are going to use an external serial adapter +# features = ["adapter"] + +[dependencies.heapless] +default-features = false +version = "0.7.1" diff --git a/f3discovery/11-usart/auxiliary/Cargo.toml b/f3discovery/11-usart/auxiliary/Cargo.toml new file mode 100644 index 000000000..733c082ff --- /dev/null +++ b/f3discovery/11-usart/auxiliary/Cargo.toml @@ -0,0 +1,14 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "aux11" +version = "0.1.0" + +[dependencies] +cortex-m = "0.7.2" +cortex-m-rt = "0.6.14" +panic-itm = "0.4.2" +stm32f3-discovery = "0.7.0" + +[features] +adapter = [] diff --git a/f3discovery/11-usart/auxiliary/src/lib.rs b/f3discovery/11-usart/auxiliary/src/lib.rs new file mode 100644 index 000000000..ac126c80d --- /dev/null +++ b/f3discovery/11-usart/auxiliary/src/lib.rs @@ -0,0 +1,63 @@ +//! Initialization code + +#![no_std] + +#[allow(unused_extern_crates)] // NOTE(allow) bug rust-lang/rust53964 +extern crate panic_itm; // panic handler + +pub use cortex_m::{asm::bkpt, iprint, iprintln, peripheral::ITM}; +pub use cortex_m_rt::entry; +pub use stm32f3_discovery::stm32f3xx_hal::pac::usart1; + +pub mod monotimer; + +use stm32f3_discovery::stm32f3xx_hal::{ + prelude::*, + serial::Serial, + pac::{self, USART1}, +}; +use monotimer::MonoTimer; + +pub fn init() -> (&'static mut usart1::RegisterBlock, MonoTimer, ITM) { + let cp = cortex_m::Peripherals::take().unwrap(); + let dp = pac::Peripherals::take().unwrap(); + + let mut flash = dp.FLASH.constrain(); + let mut rcc = dp.RCC.constrain(); + + let clocks = rcc.cfgr.freeze(&mut flash.acr); + + let (tx, rx) = match () { + #[cfg(feature = "adapter")] + () => { + let mut gpioa = dp.GPIOA.split(&mut rcc.ahb); + + let tx = gpioa.pa9.into_af7_push_pull(&mut gpioa.moder, &mut gpioa.otyper, &mut gpioa.afrh); + let rx = gpioa.pa10.into_af7_push_pull(&mut gpioa.moder, &mut gpioa.otyper, &mut gpioa.afrh); + + (tx, rx) + } + #[cfg(not(feature = "adapter"))] + () => { + let mut gpioc = dp.GPIOC.split(&mut rcc.ahb); + + let tx = gpioc.pc4.into_af7_push_pull(&mut gpioc.moder, &mut gpioc.otyper, &mut gpioc.afrl); + let rx = gpioc.pc5.into_af7_push_pull(&mut gpioc.moder, &mut gpioc.otyper, &mut gpioc.afrl); + + (tx, rx) + } + }; + + Serial::new(dp.USART1, (tx, rx), 115_200.Bd(), clocks, &mut rcc.apb2); + // If you are having trouble sending/receiving data to/from the + // HC-05 bluetooth module, try this configuration instead: + // Serial::usart1(dp.USART1, (tx, rx), 9600.bps(), clocks, &mut rcc.apb2); + + unsafe { + ( + &mut *(USART1::ptr() as *mut _), + MonoTimer::new(cp.DWT, clocks), + cp.ITM, + ) + } +} diff --git a/f3discovery/11-usart/auxiliary/src/monotimer.rs b/f3discovery/11-usart/auxiliary/src/monotimer.rs new file mode 100644 index 000000000..be1d49fc3 --- /dev/null +++ b/f3discovery/11-usart/auxiliary/src/monotimer.rs @@ -0,0 +1,54 @@ +use stm32f3_discovery::stm32f3xx_hal as hal; + +use cortex_m::peripheral::DWT; +use hal::{ + rcc::Clocks, + time::rate::Hertz, +}; + +/// A monotonic nondecreasing timer. This is a resurrection of MonoTimer from +/// the stm32f3xx-hal where it got removed after 0.6.1. +#[derive(Clone, Copy)] +pub struct MonoTimer { + frequency: Hertz, +} + +// TODO: What about a refactoring to implement Clock from embedded-time? +impl MonoTimer { + /// Creates a new `Monotonic` timer + pub fn new(mut dwt: DWT, clocks: Clocks) -> Self { + dwt.enable_cycle_counter(); + + // now the CYCCNT counter can't be stopped or resetted + drop(dwt); + + MonoTimer { + frequency: clocks.hclk(), + } + } + + /// Returns the frequency at which the monotonic timer is operating at + pub fn frequency(self) -> Hertz { + self.frequency + } + + /// Returns an `Instant` corresponding to "now" + pub fn now(self) -> Instant { + Instant { + now: DWT::get_cycle_count(), + } + } +} + +/// A measurement of a monotonically nondecreasing clock +#[derive(Clone, Copy)] +pub struct Instant { + now: u32, +} + +impl Instant { + /// Ticks elapsed since the `Instant` was created + pub fn elapsed(self) -> u32 { + DWT::get_cycle_count().wrapping_sub(self.now) + } +} diff --git a/f3discovery/11-usart/buffer-overrun.html b/f3discovery/11-usart/buffer-overrun.html new file mode 100644 index 000000000..d700cdd5a --- /dev/null +++ b/f3discovery/11-usart/buffer-overrun.html @@ -0,0 +1,360 @@ + + + + + + Buffer overrun - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Overruns

+

If you wrote your program like this:

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // Send a string
+    for byte in b"The quick brown fox jumps over the lazy dog.".iter() {
+        usart1
+            .tdr
+            .write(|w| w.tdr().bits(u16::from(*byte)));
+    }
+
+    loop {}
+}
+

You probably received something like this on your computer when you executed the program compiled in +debug mode.

+
$ # minicom's terminal
+(..)
+The uic brwn oxjums oer helaz do.
+
+

And if you compiled in release mode, you probably only got something like this:

+
$ # minicom's terminal
+(..)
+T
+
+

What went wrong?

+

You see, sending bytes over the wire takes a relatively large amount of time. I already did the math +so let me quote myself:

+
+

With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 +bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data +that results in a data rate of 11.52 KB/s

+
+

Our pangram has a length of 45 bytes. That means it's going to take, at least, 3,900 microseconds +(45 bytes / (11,520 bytes/s) = 3,906 us) to send the string. The processor is working at 8 MHz, +where executing an instruction takes 125 nanoseconds, so it's likely going to be done with the for +loop in less than 3,900 microseconds.

+

We can actually time how long it takes to execute the for loop. aux11::init() returns a +MonoTimer (monotonic timer) value that exposes an Instant API that's similar to the one in +std::time.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, mono_timer, mut itm) = aux11::init();
+
+    let instant = mono_timer.now();
+    // Send a string
+    for byte in b"The quick brown fox jumps over the lazy dog.".iter() {
+        usart1.tdr.write(|w| w.tdr().bits(u16::from(*byte)));
+    }
+    let elapsed = instant.elapsed(); // in ticks
+
+    iprintln!(
+        &mut itm.stim[0],
+        "`for` loop took {} ticks ({} us)",
+        elapsed,
+        elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6
+    );
+
+    loop {}
+}
+

In debug mode, I get:

+
$ # itmdump terminal
+(..)
+`for` loop took 22415 ticks (2801.875 us)
+
+

This is less than 3,900 microseconds but it's not that far off and that's why only a few bytes of +information are lost.

+

In conclusion, the processor is trying to send bytes at a faster rate than what the hardware can +actually handle and this results in data loss. This condition is known as buffer overrun.

+

How do we avoid this? The status register (ISR) has a flag, TXE, that indicates if it's "safe" +to write to the TDR register without incurring in data loss.

+

Let's use that to slowdown the processor.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, mono_timer, mut itm) = aux11::init();
+
+    let instant = mono_timer.now();
+    // Send a string
+    for byte in b"The quick brown fox jumps over the lazy dog.".iter() {
+        // wait until it's safe to write to TDR
+        while usart1.isr.read().txe().bit_is_clear() {} // <- NEW!
+
+        usart1
+            .tdr
+            .write(|w| w.tdr().bits(u16::from(*byte)));
+    }
+    let elapsed = instant.elapsed(); // in ticks
+
+    iprintln!(
+        &mut itm.stim[0],
+        "`for` loop took {} ticks ({} us)",
+        elapsed,
+        elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6
+    );
+
+    loop {}
+}
+

This time, running the program in debug or release mode should result in a complete string on the +receiving side.

+
$ # minicom/PuTTY's console
+(..)
+The quick brown fox jumps over the lazy dog.
+
+

The timing of the for loop should be closer to the theoretical 3,900 microseconds as well. The +timing below is for the debug version.

+
$ # itmdump terminal
+(..)
+`for` loop took 30499 ticks (3812.375 us)
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/echo-server.html b/f3discovery/11-usart/echo-server.html new file mode 100644 index 000000000..af689d18b --- /dev/null +++ b/f3discovery/11-usart/echo-server.html @@ -0,0 +1,236 @@ + + + + + + Echo server - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Echo server

+

Let's merge transmission and reception into a single program and write an echo server. An echo +server sends back to the client the same text it sent. For this application, the microcontroller +will be the server and you and your computer will be the client.

+

This should be straightforward to implement. (hint: do it byte by byte)

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/examples/buffer-overrun-timed.rs b/f3discovery/11-usart/examples/buffer-overrun-timed.rs new file mode 100644 index 000000000..4633756a8 --- /dev/null +++ b/f3discovery/11-usart/examples/buffer-overrun-timed.rs @@ -0,0 +1,27 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln}; + +#[entry] +fn main() -> ! { + let (usart1, mono_timer, mut itm) = aux11::init(); + + let instant = mono_timer.now(); + // Send a string + for byte in b"The quick brown fox jumps over the lazy dog.".iter() { + usart1.tdr.write(|w| w.tdr().bits(u16::from(*byte))); + } + let elapsed = instant.elapsed(); // in ticks + + iprintln!( + &mut itm.stim[0], + "`for` loop took {} ticks ({} us)", + elapsed, + elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6 + ); + + loop {} +} diff --git a/f3discovery/11-usart/examples/buffer-overrun-txe.rs b/f3discovery/11-usart/examples/buffer-overrun-txe.rs new file mode 100644 index 000000000..f5a75d6c9 --- /dev/null +++ b/f3discovery/11-usart/examples/buffer-overrun-txe.rs @@ -0,0 +1,31 @@ +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln}; + +#[entry] +fn main() -> ! { + let (usart1, mono_timer, mut itm) = aux11::init(); + + let instant = mono_timer.now(); + // Send a string + for byte in b"The quick brown fox jumps over the lazy dog.".iter() { + // wait until it's safe to write to TDR + while usart1.isr.read().txe().bit_is_clear() {} // <- NEW! + + usart1 + .tdr + .write(|w| w.tdr().bits(u16::from(*byte))); + } + let elapsed = instant.elapsed(); // in ticks + + iprintln!( + &mut itm.stim[0], + "`for` loop took {} ticks ({} us)", + elapsed, + elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6 + ); + + loop {} +} diff --git a/f3discovery/11-usart/examples/buffer-overrun.rs b/f3discovery/11-usart/examples/buffer-overrun.rs new file mode 100644 index 000000000..26d0957ef --- /dev/null +++ b/f3discovery/11-usart/examples/buffer-overrun.rs @@ -0,0 +1,19 @@ +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln}; + +#[entry] +fn main() -> ! { + let (usart1, _mono_timer, _itm) = aux11::init(); + + // Send a string + for byte in b"The quick brown fox jumps over the lazy dog.".iter() { + usart1 + .tdr + .write(|w| w.tdr().bits(u16::from(*byte))); + } + + loop {} +} diff --git a/f3discovery/11-usart/examples/echo.rs b/f3discovery/11-usart/examples/echo.rs new file mode 100644 index 000000000..7a2d9fff3 --- /dev/null +++ b/f3discovery/11-usart/examples/echo.rs @@ -0,0 +1,48 @@ +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln}; +use heapless::Vec; + +#[entry] +fn main() -> ! { + let (usart1, _mono_timer, _itm) = aux11::init(); + + // A buffer with 32 bytes of capacity + let mut buffer: Vec = Vec::new(); + + loop { + buffer.clear(); + + loop { + while usart1.isr.read().rxne().bit_is_clear() {} + let byte = usart1.rdr.read().rdr().bits() as u8; + + if buffer.push(byte).is_err() { + // buffer full + for byte in b"error: buffer full\n\r" { + while usart1.isr.read().txe().bit_is_clear() {} + usart1 + .tdr + .write(|w| w.tdr().bits(u16::from(*byte))); + } + + break; + } + + // Carriage return + if byte == 13 { + // Respond + for byte in buffer.iter().rev().chain(&[b'\n', b'\r']) { + while usart1.isr.read().txe().bit_is_clear() {} + usart1 + .tdr + .write(|w| w.tdr().bits(u16::from(*byte))); + } + + break; + } + } + } +} diff --git a/f3discovery/11-usart/examples/receive-a-single-byte.rs b/f3discovery/11-usart/examples/receive-a-single-byte.rs new file mode 100644 index 000000000..333959042 --- /dev/null +++ b/f3discovery/11-usart/examples/receive-a-single-byte.rs @@ -0,0 +1,21 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln}; + +#[entry] +fn main() -> ! { + let (usart1, _mono_timer, _itm) = aux11::init(); + + loop { + // Wait until there's data available + while usart1.isr.read().rxne().bit_is_clear() {} + + // Retrieve the data + let _byte = usart1.rdr.read().rdr().bits() as u8; + + aux11::bkpt(); + } +} diff --git a/f3discovery/11-usart/examples/reverse-string.rs b/f3discovery/11-usart/examples/reverse-string.rs new file mode 100644 index 000000000..181655290 --- /dev/null +++ b/f3discovery/11-usart/examples/reverse-string.rs @@ -0,0 +1,26 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln}; +use heapless::Vec; + +#[entry] +fn main() -> ! { + let (usart1, _mono_timer, _itm) = aux11::init(); + + // A buffer with 32 bytes of capacity + let mut buffer: Vec = Vec::new(); + + loop { + buffer.clear(); + + // TODO Receive a user request. Each user request ends with ENTER + // NOTE `buffer.push` returns a `Result`. Handle the error by responding + // with an error message. + + // TODO Send back the reversed string + } +} + diff --git a/f3discovery/11-usart/examples/the-answer.rs b/f3discovery/11-usart/examples/the-answer.rs new file mode 100644 index 000000000..90fd2831f --- /dev/null +++ b/f3discovery/11-usart/examples/the-answer.rs @@ -0,0 +1,46 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use core::fmt::{self, Write}; + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln, usart1}; + +macro_rules! uprint { + ($serial:expr, $($arg:tt)*) => { + $serial.write_fmt(format_args!($($arg)*)).ok() + }; +} + +macro_rules! uprintln { + ($serial:expr, $fmt:expr) => { + uprint!($serial, concat!($fmt, "\n")) + }; + ($serial:expr, $fmt:expr, $($arg:tt)*) => { + uprint!($serial, concat!($fmt, "\n"), $($arg)*) + }; +} + +struct SerialPort { + usart1: &'static mut usart1::RegisterBlock, +} + +impl fmt::Write for SerialPort { + fn write_str(&mut self, s: &str) -> fmt::Result { + // TODO implement this + // hint: this will look very similar to the previous program + Ok(()) + } +} + +#[entry] +fn main() -> ! { + let (usart1, _mono_timer, _itm) = aux11::init(); + + let mut serial = SerialPort { usart1 }; + + uprintln!(serial, "The answer is {}", 40 + 2); + + loop {} +} diff --git a/f3discovery/11-usart/index.html b/f3discovery/11-usart/index.html new file mode 100644 index 000000000..ca72a96ec --- /dev/null +++ b/f3discovery/11-usart/index.html @@ -0,0 +1,281 @@ + + + + + + USART - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

USART

+

The microcontroller has a peripheral called USART, which stands for Universal +Synchronous/Asynchronous Receiver/Transmitter. This peripheral can be configured to work with +several communication protocols like the serial communication protocol.

+

Throughout this chapter, we'll use serial communication to exchange information between the +microcontroller and your computer. But before we do that we have to wire up everything.

+

I mentioned before that this protocol involves two data lines: TX and RX. TX stands for transmitter +and RX stands for receiver. Transmitter and receiver are relative terms though; which line is the +transmitter and which line is the receiver depends from which side of the communication you are +looking at the lines.

+

Newer board revisions

+

If you have a newer revision of the board and are using the on-board USB <-> +Serial functionality then the auxiliary crate will set pin PC4 as the TX +line and pin PC5 as the RX line.

+

If you had previously connected the PC4 and PC4 pins in order to test the loopback functionality in the previous section, +make sure to remove that wire, or the upcoming serial communication will fail silently.

+

Everything is already wired on the board so you don't need to wire anything yourself. +You can move on to the next section.

+

Older board revisions / external serial module

+

If you are using an external USB <-> Serial module then you will need to +enable the adapter feature of the aux11 crate dependency in Cargo.toml.

+
[dependencies.aux11]
+path = "auxiliary"
+# enable this if you are going to use an external serial adapter
+features = ["adapter"] # <- uncomment this
+
+

We'll be using the pin PA9 as the microcontroller's TX line and PA10 as its RX line. In other +words, the pin PA9 outputs data onto its wire whereas the pin PA10 listens for data on its +wire.

+

We could have used a different pair of pins as the TX and RX pins. There's a table in page 44 of the +Data Sheet that list all the other possible pins we could have used.

+

The serial module also has TX and RX pins. We'll have to cross these pins: that is connect the +microcontroller's TX pin to the serial module's RX pin and the micro's RX pin to the serial module's +TX pin. The wiring diagram below shows all the necessary connections.

+

+ +

+

These are the recommended steps to connect the microcontroller and the serial module:

+
    +
  • Close OpenOCD and itmdump
  • +
  • Disconnect the USB cables from the F3 and the serial module.
  • +
  • Connect one of F3 GND pins to the GND pin of the serial module using a female to male (F/M) wire. +Preferably, a black one.
  • +
  • Connect the PA9 pin on the back of the F3 to the RXI pin of the serial module using a F/M wire.
  • +
  • Connect the PA10 pin on the back of the F3 to the TXO pin of the serial module using a F/M wire.
  • +
  • Now connect the USB cable to the F3.
  • +
  • Finally connect the USB cable to the Serial module.
  • +
  • Re-launch OpenOCD and itmdump
  • +
+

Everything's wired up! Let's proceed to send data back and forth.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/my-solution.html b/f3discovery/11-usart/my-solution.html new file mode 100644 index 000000000..8a1fa3244 --- /dev/null +++ b/f3discovery/11-usart/my-solution.html @@ -0,0 +1,280 @@ + + + + + + My solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

My solution

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+use heapless::Vec;
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        loop {
+            while usart1.isr.read().rxne().bit_is_clear() {}
+            let byte = usart1.rdr.read().rdr().bits() as u8;
+
+            if buffer.push(byte).is_err() {
+                // buffer full
+                for byte in b"error: buffer full\n\r" {
+                    while usart1.isr.read().txe().bit_is_clear() {}
+                    usart1
+                        .tdr
+                        .write(|w| w.tdr().bits(u16::from(*byte)));
+                }
+
+                break;
+            }
+
+            // Carriage return
+            if byte == 13 {
+                // Respond
+                for byte in buffer.iter().rev().chain(&[b'\n', b'\r']) {
+                    while usart1.isr.read().txe().bit_is_clear() {}
+                    usart1
+                        .tdr
+                        .write(|w| w.tdr().bits(u16::from(*byte)));
+                }
+
+                break;
+            }
+        }
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/openocd.gdb b/f3discovery/11-usart/openocd.gdb new file mode 100644 index 000000000..df15d79d3 --- /dev/null +++ b/f3discovery/11-usart/openocd.gdb @@ -0,0 +1,10 @@ +target remote :3333 +set print asm-demangle on +set print pretty on +monitor tpiu config internal itm.txt uart off 8000000 +monitor itm port 0 on +load +break DefaultHandler +break HardFault +break main +continue diff --git a/f3discovery/11-usart/receive-a-single-byte.html b/f3discovery/11-usart/receive-a-single-byte.html new file mode 100644 index 000000000..c4bd429ad --- /dev/null +++ b/f3discovery/11-usart/receive-a-single-byte.html @@ -0,0 +1,275 @@ + + + + + + Receive a single byte - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Receive a single byte

+

So far we have sending data from the microcontroller to your computer. It's time to try the opposite: receiving +data from your computer.

+

There's a RDR register that will be filled with the data that comes from the RX line. If we read +that register, we'll retrieve the data that the other side of the channel sent. The question is: How +do we know that we have received (new) data? The status register, ISR, has a bit for that purpose: +RXNE. We can just busy wait on that flag.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    loop {
+        // Wait until there's data available
+        while usart1.isr.read().rxne().bit_is_clear() {}
+
+        // Retrieve the data
+        let _byte = usart1.rdr.read().rdr().bits() as u8;
+
+        aux11::bkpt();
+    }
+}
+

Let's try this program! Let it run free using continue and then type a single character in +minicom/PuTTY's console. What happens? What are the contents of the _byte variable?

+
(gdb) continue
+Continuing.
+
+Program received signal SIGTRAP, Trace/breakpoint trap.
+0x8003d48 in __bkpt ()
+
+(gdb) finish
+Run till exit from #0  0x8003d48 in __bkpt ()
+usart::main () at src/11-usart/src/main.rs:19
+19              aux11::bkpt();
+
+(gdb) p/c _byte
+$1 = 97 'a'
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/reverse-a-string.html b/f3discovery/11-usart/reverse-a-string.html new file mode 100644 index 000000000..a32ad3ac3 --- /dev/null +++ b/f3discovery/11-usart/reverse-a-string.html @@ -0,0 +1,262 @@ + + + + + + Reverse a string - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Reverse a string

+

Alright, next let's make the server more interesting by having it respond to the client with the +reverse of the text that they sent. The server will respond to the client every time they press the +ENTER key. Each server response will be in a new line.

+

This time you'll need a buffer; you can use heapless::Vec. Here's the starter code:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+use heapless::Vec;
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        // TODO Receive a user request. Each user request ends with ENTER
+        // NOTE `buffer.push` returns a `Result`. Handle the error by responding
+        // with an error message.
+
+        // TODO Send back the reversed string
+    }
+}
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/send-a-single-byte.html b/f3discovery/11-usart/send-a-single-byte.html new file mode 100644 index 000000000..f16d2653c --- /dev/null +++ b/f3discovery/11-usart/send-a-single-byte.html @@ -0,0 +1,259 @@ + + + + + + Send a single byte - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Send a single byte

+

Our first task will be to send a single byte from the microcontroller to the computer over the serial +connection.

+

This time, I'm going to provide you with an already initialized USART peripheral. You'll only have +to work with the registers that are in charge of sending and receiving data.

+

Go into the 11-usart directory and let's run the starter code therein. Make sure that you have +minicom/PuTTY open.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // Send a single character
+    usart1
+        .tdr
+        .write(|w| w.tdr().bits(u16::from(b'X')) );
+
+    loop {}
+}
+

This program writes to the TDR register. This causes the USART peripheral to send one byte of +information through the serial interface.

+

On the receiving end, your computer, you should see show the character X appear on minicom/PuTTY's +terminal.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/send-a-string.html b/f3discovery/11-usart/send-a-string.html new file mode 100644 index 000000000..9af419c5b --- /dev/null +++ b/f3discovery/11-usart/send-a-string.html @@ -0,0 +1,239 @@ + + + + + + Send a string - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Send a string

+

The next task will be to send a whole string from the microcontroller to your computer.

+

I want you to send the string "The quick brown fox jumps over the lazy dog." from the microcontroller to +your computer.

+

It's your turn to write the program.

+

Execute your program inside the debugger, statement by statement. What do you see?

+

Then execute the program again but in one go using the continue command. What happens this time?

+

Finally, build the program in release mode and, again, run it in one go. What happens this time?

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/11-usart/src/main.rs b/f3discovery/11-usart/src/main.rs new file mode 100644 index 000000000..bc6ed0edf --- /dev/null +++ b/f3discovery/11-usart/src/main.rs @@ -0,0 +1,17 @@ +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux11::{entry, iprint, iprintln}; + +#[entry] +fn main() -> ! { + let (usart1, _mono_timer, _itm) = aux11::init(); + + // Send a single character + usart1 + .tdr + .write(|w| w.tdr().bits(u16::from(b'X')) ); + + loop {} +} diff --git a/f3discovery/11-usart/uprintln.html b/f3discovery/11-usart/uprintln.html new file mode 100644 index 000000000..e47ac6805 --- /dev/null +++ b/f3discovery/11-usart/uprintln.html @@ -0,0 +1,329 @@ + + + + + + uprintln! - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

uprintln!

+

For the next exercise, we'll implement the uprint! family of macros. Your goal is to make this +line of code work:

+
#![allow(unused)]
+fn main() {
+    uprintln!(serial, "The answer is {}", 40 + 2);
+}
+

Which must send the string "The answer is 42" through the serial interface.

+

How do we go about that? It's informative to look into the std implementation of println!.

+
#![allow(unused)]
+fn main() {
+// src/libstd/macros.rs
+macro_rules! print {
+    ($($arg:tt)*) => ($crate::io::_print(format_args!($($arg)*)));
+}
+}
+

Looks simple so far. We need the built-in format_args! macro (it's implemented in the compiler so we +can't see what it actually does). We'll have to use that macro in the exact same way. What does this +_print function do?

+
#![allow(unused)]
+fn main() {
+// src/libstd/io/stdio.rs
+pub fn _print(args: fmt::Arguments) {
+    let result = match LOCAL_STDOUT.state() {
+        LocalKeyState::Uninitialized |
+        LocalKeyState::Destroyed => stdout().write_fmt(args),
+        LocalKeyState::Valid => {
+            LOCAL_STDOUT.with(|s| {
+                if s.borrow_state() == BorrowState::Unused {
+                    if let Some(w) = s.borrow_mut().as_mut() {
+                        return w.write_fmt(args);
+                    }
+                }
+                stdout().write_fmt(args)
+            })
+        }
+    };
+    if let Err(e) = result {
+        panic!("failed printing to stdout: {}", e);
+    }
+}
+}
+

That looks complicated but the only part we are interested in is: w.write_fmt(args) and +stdout().write_fmt(args). What print! ultimately does is call the fmt::Write::write_fmt method +with the output of format_args! as its argument.

+

Luckily we don't have to implement the fmt::Write::write_fmt method either because it's a default +method. We only have to implement the fmt::Write::write_str method.

+

Let's do that.

+

This is what the macro side of the equation looks like. What's left to be done by you is provide the +implementation of the write_str method.

+

Above we saw that Write is in std::fmt. We don't have access to std but Write is also +available in core::fmt.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use core::fmt::{self, Write};
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln, usart1};
+
+macro_rules! uprint {
+    ($serial:expr, $($arg:tt)*) => {
+        $serial.write_fmt(format_args!($($arg)*)).ok()
+    };
+}
+
+macro_rules! uprintln {
+    ($serial:expr, $fmt:expr) => {
+        uprint!($serial, concat!($fmt, "\n"))
+    };
+    ($serial:expr, $fmt:expr, $($arg:tt)*) => {
+        uprint!($serial, concat!($fmt, "\n"), $($arg)*)
+    };
+}
+
+struct SerialPort {
+    usart1: &'static mut usart1::RegisterBlock,
+}
+
+impl fmt::Write for SerialPort {
+    fn write_str(&mut self, s: &str) -> fmt::Result {
+        // TODO implement this
+        // hint: this will look very similar to the previous program
+        Ok(())
+    }
+}
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    let mut serial = SerialPort { usart1 };
+
+    uprintln!(serial, "The answer is {}", 40 + 2);
+
+    loop {}
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/12-bluetooth-setup/at-commands.html b/f3discovery/12-bluetooth-setup/at-commands.html new file mode 100644 index 000000000..7ebf9706e --- /dev/null +++ b/f3discovery/12-bluetooth-setup/at-commands.html @@ -0,0 +1,275 @@ + + + + + + AT commands - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

AT commands

+

The Bluetooth module and the F3 need to be configured to communicate at the same baud rate. The tutorial code initializes the UART1 serial device to a baud rate of 115200. The HC-05 Bluetooth module is configured at a baud rate of 9600 by default.

+

The Bluetooth module supports an AT mode that allows you to examine and change its configuration and settings. To utilize the AT mode, connect the Bluetooth module to the F3 and FTDI as shown in the following diagram.

+

+ +

+

Recommended steps to enter AT mode:

+
    +
  • Disconnect the F3 and FTDI from your computer.
  • +
  • Connect F3's GND pin to the Bluetooth's GND pin using a Female/Female (F/F) wire +(preferably, a black one).
  • +
  • Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire (preferably, a +red one).
  • +
  • Connect the FTDI RXI pin to the Bluetooth's TXD pin using a Female/Male (F/M) wire.
  • +
  • Connect the FTDI TXO pin to the Bluetooth's RXD pin using a Female/Male (F/M) wire.
  • +
  • Now connect the FTDI to your computer via USB cable.
  • +
  • Next connect the F3 to your computer via USB cable while simultaneously pressing and holding the button on the Bluetooth module (kinda tricky).
  • +
  • Now, release the button and the Bluetooth module will enter AT mode. You can confirm this by observing that the red LED on the Bluetooth module is blinking in a slow pattern (approx 1-2 seconds on/off).
  • +
+

The AT mode always operates at a baud rate of 38400, so configure your terminal program for that baud rate and connect to the FTDI device.

+

When your serial connection is established, you may get a bunch of ERROR: (0) repeatedly being displayed. If this happens, just hit ENTER to stop the errors.

+

Sanity check

+
$ at
+OK
+OK
+(etc...)
+
+

Answers OK repeatedly until you hit ENTER again.

+

Rename the device

+
$ at+name=ferris
+OK
+
+

Query for the current baud rate of the Bluetooth module

+
at+uart?
++UART:9600,0,0
+OK
++UART:9600,0,0
+OK
+(etc ...)
+
+

Change the baud rate

+
$ at+uart=115200,0,0
+OK
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/12-bluetooth-setup/index.html b/f3discovery/12-bluetooth-setup/index.html new file mode 100644 index 000000000..f200a98b4 --- /dev/null +++ b/f3discovery/12-bluetooth-setup/index.html @@ -0,0 +1,258 @@ + + + + + + Bluetooth setup - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Bluetooth setup

+

It's time to get rid of some wires. Serial communication can not only be emulated on top of the USB +protocol; it can also be emulated on top of the Bluetooth protocol. This serial over Bluetooth +protocol is known as RFCOMM.

+

Before we use the Bluetooth module with the microcontroller, let's first interact with it using +minicom/PuTTY.

+

The first thing we'll need to do is: turn on the Bluetooth module. We'll have to share some of the +F3 power to it using the following connection:

+

+ +

+

The recommend steps to wire this up are:

+
    +
  • Close OpenOCD and itmdump
  • +
  • Disconnect the USB cables from the F3 and the serial module.
  • +
  • Connect F3's GND pin to the Bluetooth's GND pin using a female to female (F/F) wire. Preferably, a +black one.
  • +
  • Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire. Preferably, a red one.
  • +
  • Then, connect the USB cable back to the F3.
  • +
  • Re-launch OpenOCD and itmdump
  • +
+

Two LEDs, a blue one and a red one, on the Bluetooth module should start blinking right after you +power on the F3 board.

+

Next thing to do is pair your computer and the Bluetooth module. AFAIK, Windows and mac users can +simply use their OS default Bluetooth manager to do the pairing. The Bluetooth module default pin +is 1234.

+

Linux users will have to follow (some of) these instructions.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/12-bluetooth-setup/linux.html b/f3discovery/12-bluetooth-setup/linux.html new file mode 100644 index 000000000..a1a73021e --- /dev/null +++ b/f3discovery/12-bluetooth-setup/linux.html @@ -0,0 +1,305 @@ + + + + + + Linux - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Linux

+

If you have a graphical Bluetooth manager, you can use that to pair your computer to the Bluetooth +module and skip most of these steps. You'll probably still have to this step though.

+

Power up

+

First, your computer's Bluetooth transceiver may be OFF. Check its status with hciconfig and turn it +ON if necessary:

+
$ hciconfig
+hci0:   Type: Primary  Bus: USB
+        BD Address: 68:17:29:XX:XX:XX  ACL MTU: 310:10  SCO MTU: 64:8
+        DOWN  <--
+        RX bytes:580 acl:0 sco:0 events:31 errors:0
+        TX bytes:368 acl:0 sco:0 commands:30 errors:0
+
+$ sudo hciconfig hci0 up
+
+$ hciconfig
+hci0:   Type: Primary  Bus: USB
+        BD Address: 68:17:29:XX:XX:XX  ACL MTU: 310:10  SCO MTU: 64:8
+        UP RUNNING  <--
+        RX bytes:1190 acl:0 sco:0 events:67 errors:0
+        TX bytes:1072 acl:0 sco:0 commands:66 errors:0
+
+

Then you need to launch the BlueZ (Bluetooth) daemon:

+
    +
  • On systemd based Linux distributions, use:
  • +
+
$ sudo systemctl start bluetooth
+
+
    +
  • On Ubuntu (or upstart based Linux distributions), use:
  • +
+
$ sudo /etc/init.d/bluetooth start
+
+

You may also need to unblock your Bluetooth, depending on what rfkill list says:

+
$ rfkill list
+9: hci0: Bluetooth
+        Soft blocked: yes # <--
+        Hard blocked: no
+
+$ sudo rfkill unblock bluetooth
+
+$ rfkill list
+9: hci0: Bluetooth
+        Soft blocked: no  # <--
+        Hard blocked: no
+
+
+

Scan

+
$ hcitool scan
+Scanning ...
+        20:16:05:XX:XX:XX       Ferris
+$ #                             ^^^^^^
+
+

Pair

+
$ bluetoothctl
+[bluetooth]# scan on
+[bluetooth]# agent on
+[bluetooth]# pair 20:16:05:XX:XX:XX
+Attempting to pair with 20:16:05:XX:XX:XX
+[CHG] Device 20:16:05:XX:XX:XX Connected: yes
+Request PIN code
+[agent] Enter PIN code: 1234
+
+

rfcomm device

+

We'll create a device file for our Bluetooth module in /dev. Then we'll be able to use it just +like we used /dev/ttyUSB0.

+
$ sudo rfcomm bind 0 20:16:05:XX:XX:XX
+
+

Because we used 0 as an argument to bind, /dev/rfcomm0 will be the device file assigned to our +Bluetooth module.

+

You can release (destroy) the device file at any time with the following command:

+
$ # Don't actually run this command right now!
+$ sudo rfcomm release 0
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/12-bluetooth-setup/loopback.html b/f3discovery/12-bluetooth-setup/loopback.html new file mode 100644 index 000000000..b7114e6a1 --- /dev/null +++ b/f3discovery/12-bluetooth-setup/loopback.html @@ -0,0 +1,248 @@ + + + + + + Loopback - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Loopback, again

+

After pairing your computer to the Bluetooth module, your OS should have created a device file / COM +port for you. On Linux, it should be /dev/rfcomm*; on mac, it should be /dev/cu.*; and on +Windows, it should be a new COM port.

+

We can now test the Bluetooth module with minicom/PuTTY. Because this module doesn't have LED +indicators for the transmission and reception events like the serial module did, we'll test the +module using a loopback connection:

+

+ +

+

Just connect the module's TXD pin to its RXD pin using a F/F wire.

+

Now, connect to the device using minicom/PuTTY:

+
$ minicom -D /dev/rfcomm0
+
+

Upon connecting, the blinking pattern of the Bluetooth module should change to: long pause then +blink twice quickly.

+

Typing inside minicom/PuTTY terminal should echo back what you type.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/13-serial-over-bluetooth/index.html b/f3discovery/13-serial-over-bluetooth/index.html new file mode 100644 index 000000000..7e3b3a541 --- /dev/null +++ b/f3discovery/13-serial-over-bluetooth/index.html @@ -0,0 +1,252 @@ + + + + + + Serial over Bluetooth - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Serial over Bluetooth

+

Now that we verify that the Bluetooth module works with minicom/PuTTY, let's connect it to the +microcontroller:

+

+ +

+

Recommended steps to wire this up:

+
    +
  • Close OpenOCD and itmdump.
  • +
  • Disconnect the F3 from your computer.
  • +
  • Connect F3's GND pin to the module's GND pin using a female to female (F/F) wire (preferably, a +black one).
  • +
  • Connect F3's 5V pin to the module's VCC pin using a F/F wire (preferably, a red one).
  • +
  • Connect the PA9 (TX) pin on the back of the F3 to the Bluetooth's RXD pin using a F/F wire.
  • +
  • Connect the PA10 (RX) pin on the back of the F3 to the Bluetooth's TXD pin using a F/F wire.
  • +
  • Now connect the F3 and your computer using an USB cable.
  • +
  • Re-launch OpenOCD and itmdump.
  • +
+

And that's it! You should be able to run all the programs you wrote in section 11 without +modification! Just make sure you open the right serial device / COM port.

+

NOTE If you are having trouble communicating with the bluetooth device, you may need to initialize USART1 with a lower baud rate. Lowering it from 115,200 bps to 9,600 bps might help, as described in the code here

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/14-i2c/Cargo.toml b/f3discovery/14-i2c/Cargo.toml new file mode 100644 index 000000000..4f33f527a --- /dev/null +++ b/f3discovery/14-i2c/Cargo.toml @@ -0,0 +1,8 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "i2c" +version = "0.1.0" + +[dependencies] +aux14 = { path = "auxiliary" } diff --git a/f3discovery/14-i2c/auxiliary/Cargo.toml b/f3discovery/14-i2c/auxiliary/Cargo.toml new file mode 100644 index 000000000..8d9edbdbb --- /dev/null +++ b/f3discovery/14-i2c/auxiliary/Cargo.toml @@ -0,0 +1,11 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "aux14" +version = "0.1.0" + +[dependencies] +cortex-m = "0.6.3" +cortex-m-rt = "0.6.3" +panic-itm = "0.4.0" +stm32f3-discovery = "0.6.0" diff --git a/f3discovery/14-i2c/auxiliary/src/lib.rs b/f3discovery/14-i2c/auxiliary/src/lib.rs new file mode 100644 index 000000000..e8808b128 --- /dev/null +++ b/f3discovery/14-i2c/auxiliary/src/lib.rs @@ -0,0 +1,42 @@ +//! Initialization code + +#![no_std] + +#[allow(unused_extern_crates)] // bug rust-lang/rust#53964 +extern crate panic_itm; // panic handler + +pub use cortex_m::{asm::bkpt, iprint, iprintln}; +pub use cortex_m_rt::entry; +pub use stm32f3_discovery::stm32f3xx_hal::{delay::Delay, prelude, stm32::i2c1}; + +use cortex_m::peripheral::ITM; +use stm32f3_discovery::{ + lsm303dlhc::Lsm303dlhc, + stm32f3xx_hal::{ + i2c::I2c, + prelude::*, + stm32::{self, I2C1}, + }, +}; + +pub fn init() -> (&'static i2c1::RegisterBlock, Delay, ITM) { + let cp = cortex_m::Peripherals::take().unwrap(); + let dp = stm32::Peripherals::take().unwrap(); + + let mut flash = dp.FLASH.constrain(); + let mut rcc = dp.RCC.constrain(); + + let clocks = rcc.cfgr.freeze(&mut flash.acr); + + let mut gpiob = dp.GPIOB.split(&mut rcc.ahb); + let scl = gpiob.pb6.into_af4(&mut gpiob.moder, &mut gpiob.afrl); + let sda = gpiob.pb7.into_af4(&mut gpiob.moder, &mut gpiob.afrl); + + let i2c = I2c::new(dp.I2C1, (scl, sda), 400.khz(), clocks, &mut rcc.apb1); + + Lsm303dlhc::new(i2c).unwrap(); + + let delay = Delay::new(cp.SYST, clocks); + + unsafe { (&mut *(I2C1::ptr() as *mut _), delay, cp.ITM) } +} diff --git a/f3discovery/14-i2c/index.html b/f3discovery/14-i2c/index.html new file mode 100644 index 000000000..9480fb52a --- /dev/null +++ b/f3discovery/14-i2c/index.html @@ -0,0 +1,256 @@ + + + + + + I2C - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

I2C

+

We just saw the serial communication protocol. It's a widely used protocol because it's very +simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and +USB.

+

However, it's simplicity is also a downside. More elaborated data exchanges, like reading a digital +sensor, would require the sensor vendor to come up with another protocol on top of it.

+

(Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some +of them are widely used in digital sensors.

+

The F3 board we are using has three motion sensors in it: an accelerometer, a magnetometer and +gyroscope. The accelerometer and magnetometer are packaged in a single component and can be accessed +via an I2C bus.

+

I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It +uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is +used to synchronize the communication, this is a synchronous protocol.

+

+ +

+

This protocol uses a master slave model where the master is the device that starts and +drives the communication with a slave device. Several devices, both masters and slaves, can be +connected to the same bus at the same time. A master device can communicate with a specific slave +device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. +Once a master has started a communication with a slave, no other device can make use of the bus +until the master stops the communication.

+

The clock line determines how fast data can be exchanged and it usually operates at a frequency of +100 KHz (standard mode) or 400 KHz (fast mode).

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/14-i2c/lsm303dlhc.html b/f3discovery/14-i2c/lsm303dlhc.html new file mode 100644 index 000000000..06bb29f0f --- /dev/null +++ b/f3discovery/14-i2c/lsm303dlhc.html @@ -0,0 +1,255 @@ + + + + + + LSM303DLHC - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

LSM303DLHC

+

* NOTE: Newer (from around 2020/09) Discovery boards may have an LSM303AGR +rather than a LSM303DLHC. +Checkout the github issues like this for more details.

+

Two of the sensors in the F3, the magnetometer and the accelerometer, are packaged in a single +component: the LSM303DLHC integrated circuit. These two sensors can be accessed via an I2C bus. Each +sensor behaves like an I2C slave and has a different address.

+

Each sensor has its own memory where it stores the results of sensing its environment. Our +interaction with these sensors will mainly involve reading their memory.

+

The memory of these sensors is modeled as byte addressable registers. These sensors can be +configured too; that's done by writing to their registers. So, in a sense, these sensors are very +similar to the peripherals inside the microcontroller. The difference is that their registers are +not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the +I2C bus.

+

The main source of information about the LSM303DLHC is its Data Sheet. Read through it to see how +one can read the sensors' registers. That part is in:

+
+

Section 5.1.1 I2C Operation - Page 20 - LSM303DLHC Data Sheet

+
+

The other part of the documentation relevant to this book is the description of the registers. That +part is in:

+
+

Section 7 Register description - Page 25 - LSM303DLHC Data Sheet

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/14-i2c/openocd.gdb b/f3discovery/14-i2c/openocd.gdb new file mode 100644 index 000000000..df15d79d3 --- /dev/null +++ b/f3discovery/14-i2c/openocd.gdb @@ -0,0 +1,10 @@ +target remote :3333 +set print asm-demangle on +set print pretty on +monitor tpiu config internal itm.txt uart off 8000000 +monitor itm port 0 on +load +break DefaultHandler +break HardFault +break main +continue diff --git a/f3discovery/14-i2c/read-a-single-register.html b/f3discovery/14-i2c/read-a-single-register.html new file mode 100644 index 000000000..b91095d8f --- /dev/null +++ b/f3discovery/14-i2c/read-a-single-register.html @@ -0,0 +1,307 @@ + + + + + + Read a single register - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Read a single register

+

Let's put all that theory into practice!

+

Just like with the USART peripheral, I've taken care of initializing everything before you reach +main so you'll only have to deal with the following registers:

+
    +
  • CR2. Control register 2.
  • +
  • ISR. Interrupt and status register.
  • +
  • TXDR. Transmit data register.
  • +
  • RXDR. Receive data register.
  • +
+

These registers are documented in the following section of the Reference Manual:

+
+

Section 28.7 I2C registers - Page 868 - Reference Manual

+
+

We'll be using the I2C1 peripheral in conjunction with pins PB6 (SCL) and PB7 (SDA).

+

You won't have to wire anything this time because the sensor is on the board and it's already +connected to the microcontroller. However, I would recommend that you disconnect the serial / +Bluetooth module from the F3 to make it easier to manipulate. Later on, we'll be moving the board +around quite a bit.

+

Your task is to write a program that reads the contents of the magnetometer's IRA_REG_M register. +This register is read only and always contains the value 0b01001000.

+

The microcontroller will be taking the role of the I2C master and the magnetometer inside the +LSM303DLHC will be the I2C slave.

+

Here's the starter code. You'll have to implement the TODOs.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux14::{entry, iprint, iprintln, prelude::*};
+
+// Slave address
+const MAGNETOMETER: u16 = 0b0011_1100;
+
+// Addresses of the magnetometer's registers
+const OUT_X_H_M: u8 = 0x03;
+const IRA_REG_M: u8 = 0x0A;
+
+#[entry]
+fn main() -> ! {
+    let (i2c1, _delay, mut itm) = aux14::init();
+
+    // Stage 1: Send the address of the register we want to read to the
+    // magnetometer
+    {
+        // TODO Broadcast START
+
+        // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Write
+
+        // TODO Send the address of the register that we want to read: IRA_REG_M
+    }
+
+    // Stage 2: Receive the contents of the register we asked for
+    let byte = {
+        // TODO Broadcast RESTART
+
+        // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Read
+
+        // TODO Receive the contents of the register
+
+        // TODO Broadcast STOP
+        0
+    };
+
+    // Expected output: 0x0A - 0b01001000
+    iprintln!(&mut itm.stim[0], "0x{:02X} - 0b{:08b}", IRA_REG_M, byte);
+
+    loop {}
+}
+

To give you some extra help, these are the exact bitfields you'll be working with:

+
    +
  • CR2: SADD1, RD_WRN, NBYTES, START, AUTOEND
  • +
  • ISR: TXIS, RXNE, TC
  • +
  • TXDR: TXDATA
  • +
  • RXDR: RXDATA
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/14-i2c/read-several-registers.html b/f3discovery/14-i2c/read-several-registers.html new file mode 100644 index 000000000..206c6baf0 --- /dev/null +++ b/f3discovery/14-i2c/read-several-registers.html @@ -0,0 +1,363 @@ + + + + + + Read several registers - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Read several registers

+

Reading the IRA_REG_M register was a good test of our understanding of the I2C protocol but that +register contains uninteresting information.

+

This time, we'll read the registers of the magnetometer that actually expose the sensor readings. +Six contiguous registers are involved and they start with OUT_X_H_M at address 0x03.

+

We'll modify our previous program to read these six registers. Only a few modifications are needed.

+

We'll need to change the address we request from the magnetometer from IRA_REG_M to OUT_X_H_M.

+
#![allow(unused)]
+fn main() {
+    // Send the address of the register that we want to read: OUT_X_H_M
+    i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M));
+}
+

We'll have to request the slave for six bytes rather than just one.

+
#![allow(unused)]
+fn main() {
+    // Broadcast RESTART
+    // Broadcast the MAGNETOMETER address with the R/W bit set to Read
+    i2c1.cr2.modify(|_, w| {
+        w.start().set_bit();
+        w.nbytes().bits(6);
+        w.rd_wrn().set_bit();
+        w.autoend().set_bit()
+    });
+}
+

And fill a buffer rather than read just one byte:

+
#![allow(unused)]
+fn main() {
+    let mut buffer = [0u8; 6];
+    for byte in &mut buffer {
+        // Wait until we have received the contents of the register
+        while i2c1.isr.read().rxne().bit_is_clear() {}
+
+        *byte = i2c1.rxdr.read().rxdata().bits();
+    }
+
+    // Broadcast STOP (automatic because of `AUTOEND = 1`)
+}
+

Putting it all together inside a loop alongside a delay to reduce the data throughput:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux14::{entry, iprint, iprintln, prelude::*};
+
+// Slave address
+const MAGNETOMETER: u16 = 0b0011_1100;
+
+// Addresses of the magnetometer's registers
+const OUT_X_H_M: u8 = 0x03;
+const IRA_REG_M: u8 = 0x0A;
+
+#[entry]
+fn main() -> ! {
+    let (i2c1, mut delay, mut itm) = aux14::init();
+
+    loop {
+        // Broadcast START
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Write
+        i2c1.cr2.write(|w| {
+            w.start().set_bit();
+            w.sadd().bits(MAGNETOMETER);
+            w.rd_wrn().clear_bit();
+            w.nbytes().bits(1);
+            w.autoend().clear_bit()
+        });
+
+        // Wait until we can send more data
+        while i2c1.isr.read().txis().bit_is_clear() {}
+
+        // Send the address of the register that we want to read: OUT_X_H_M
+        i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M));
+
+        // Wait until the previous byte has been transmitted
+        while i2c1.isr.read().tc().bit_is_clear() {}
+
+        // Broadcast RESTART
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Read
+        i2c1.cr2.modify(|_, w| {
+            w.start().set_bit();
+            w.nbytes().bits(6);
+            w.rd_wrn().set_bit();
+            w.autoend().set_bit()
+        });
+
+        let mut buffer = [0u8; 6];
+        for byte in &mut buffer {
+            // Wait until we have received something
+            while i2c1.isr.read().rxne().bit_is_clear() {}
+
+            *byte = i2c1.rxdr.read().rxdata().bits();
+        }
+        // Broadcast STOP (automatic because of `AUTOEND = 1`)
+
+        iprintln!(&mut itm.stim[0], "{:?}", buffer);
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+

If you run this, you should printed in the itmdump's console a new array of six bytes every +second. The values within the array should change if you move around the board.

+
$ # itmdump terminal
+(..)
+[0, 45, 255, 251, 0, 193]
+[0, 44, 255, 249, 0, 193]
+[0, 49, 255, 250, 0, 195]
+
+

But these bytes don't make much sense like that. Let's turn them into actual readings:

+
#![allow(unused)]
+fn main() {
+        let x_h = u16::from(buffer[0]);
+        let x_l = u16::from(buffer[1]);
+        let z_h = u16::from(buffer[2]);
+        let z_l = u16::from(buffer[3]);
+        let y_h = u16::from(buffer[4]);
+        let y_l = u16::from(buffer[5]);
+
+        let x = ((x_h << 8) + x_l) as i16;
+        let y = ((y_h << 8) + y_l) as i16;
+        let z = ((z_h << 8) + z_l) as i16;
+
+        iprintln!(&mut itm.stim[0], "{:?}", (x, y, z));
+}
+

Now it should look better:

+
$ # `itmdump terminal
+(..)
+(44, 196, -7)
+(45, 195, -6)
+(46, 196, -9)
+
+

This is the Earth's magnetic field decomposed alongside the XYZ axis of the magnetometer.

+

In the next section, we'll learn how to make sense of these numbers.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/14-i2c/src/main.rs b/f3discovery/14-i2c/src/main.rs new file mode 100644 index 000000000..f75f00732 --- /dev/null +++ b/f3discovery/14-i2c/src/main.rs @@ -0,0 +1,45 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux14::{entry, iprint, iprintln, prelude::*}; + +// Slave address +const MAGNETOMETER: u16 = 0b0011_1100; + +// Addresses of the magnetometer's registers +const OUT_X_H_M: u8 = 0x03; +const IRA_REG_M: u8 = 0x0A; + +#[entry] +fn main() -> ! { + let (i2c1, _delay, mut itm) = aux14::init(); + + // Stage 1: Send the address of the register we want to read to the + // magnetometer + { + // TODO Broadcast START + + // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Write + + // TODO Send the address of the register that we want to read: IRA_REG_M + } + + // Stage 2: Receive the contents of the register we asked for + let byte = { + // TODO Broadcast RESTART + + // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Read + + // TODO Receive the contents of the register + + // TODO Broadcast STOP + 0 + }; + + // Expected output: 0x0A - 0b01001000 + iprintln!(&mut itm.stim[0], "0x{:02X} - 0b{:08b}", IRA_REG_M, byte); + + loop {} +} diff --git a/f3discovery/14-i2c/the-general-protocol.html b/f3discovery/14-i2c/the-general-protocol.html new file mode 100644 index 000000000..db7a6626b --- /dev/null +++ b/f3discovery/14-i2c/the-general-protocol.html @@ -0,0 +1,270 @@ + + + + + + The general protocol - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

General protocol

+

The I2C protocol is more elaborate than the serial communication protocol because it has to support +communication between several devices. Let's see how it works using examples:

+

Master -> Slave

+

If the master wants to send data to the slave:

+

+ +

+
    +
  1. Master: Broadcast START
  2. +
  3. M: Broadcast slave address (7 bits) + the R/W (8th) bit set to WRITE
  4. +
  5. Slave: Responds ACK (ACKnowledgement)
  6. +
  7. M: Send one byte
  8. +
  9. S: Responds ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. M: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+

Master <- Slave

+

If the master wants to read data from the slave:

+

+ +

+
    +
  1. M: Broadcast START
  2. +
  3. M: Broadcast slave address (7 bits) + the R/W (8th) bit set to READ
  4. +
  5. S: Responds with ACK
  6. +
  7. S: Send byte
  8. +
  9. M: Responds with ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. M: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/14-i2c/the-solution.html b/f3discovery/14-i2c/the-solution.html new file mode 100644 index 000000000..89065f1f3 --- /dev/null +++ b/f3discovery/14-i2c/the-solution.html @@ -0,0 +1,297 @@ + + + + + + The solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux14::{entry, iprint, iprintln, prelude::*};
+
+// Slave address
+const MAGNETOMETER: u16 = 0b0011_1100;
+
+// Addresses of the magnetometer's registers
+const OUT_X_H_M: u8 = 0x03;
+const IRA_REG_M: u8 = 0x0A;
+
+#[entry]
+fn main() -> ! {
+    let (i2c1, _delay, mut itm) = aux14::init();
+
+    // Stage 1: Send the address of the register we want to read to the
+    // magnetometer
+    {
+        // Broadcast START
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Write
+        i2c1.cr2.write(|w| {
+            w.start().set_bit();
+            w.sadd().bits(MAGNETOMETER);
+            w.rd_wrn().clear_bit();
+            w.nbytes().bits(1);
+            w.autoend().clear_bit()
+        });
+
+        // Wait until we can send more data
+        while i2c1.isr.read().txis().bit_is_clear() {}
+
+        // Send the address of the register that we want to read: IRA_REG_M
+        i2c1.txdr.write(|w| w.txdata().bits(IRA_REG_M));
+
+        // Wait until the previous byte has been transmitted
+        while i2c1.isr.read().tc().bit_is_clear() {}
+    }
+
+    // Stage 2: Receive the contents of the register we asked for
+    let byte = {
+        // Broadcast RESTART
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Read
+        i2c1.cr2.modify(|_, w| {
+            w.start().set_bit();
+            w.nbytes().bits(1);
+            w.rd_wrn().set_bit();
+            w.autoend().set_bit()
+        });
+
+        // Wait until we have received the contents of the register
+        while i2c1.isr.read().rxne().bit_is_clear() {}
+
+        // Broadcast STOP (automatic because of `AUTOEND = 1`)
+
+        i2c1.rxdr.read().rxdata().bits()
+    };
+
+    // Expected output: 0x0A - 0b01001000
+    iprintln!(&mut itm.stim[0], "0x{:02X} - 0b{:08b}", IRA_REG_M, byte);
+
+    loop {}
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/15-led-compass/Cargo.toml b/f3discovery/15-led-compass/Cargo.toml new file mode 100644 index 000000000..dab1465df --- /dev/null +++ b/f3discovery/15-led-compass/Cargo.toml @@ -0,0 +1,9 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "led-compass" +version = "0.1.0" + +[dependencies] +m = "0.1.1" +aux15 = { path = "auxiliary" } diff --git a/f3discovery/15-led-compass/auxiliary/Cargo.toml b/f3discovery/15-led-compass/auxiliary/Cargo.toml new file mode 100644 index 000000000..f3ed40182 --- /dev/null +++ b/f3discovery/15-led-compass/auxiliary/Cargo.toml @@ -0,0 +1,11 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "aux15" +version = "0.1.0" + +[dependencies] +cortex-m = "0.6.3" +cortex-m-rt = "0.6.3" +panic-itm = "0.4.0" +stm32f3-discovery = "0.6.0" diff --git a/f3discovery/15-led-compass/auxiliary/src/lib.rs b/f3discovery/15-led-compass/auxiliary/src/lib.rs new file mode 100644 index 000000000..5c985673c --- /dev/null +++ b/f3discovery/15-led-compass/auxiliary/src/lib.rs @@ -0,0 +1,84 @@ +//! Initialization code + +#![no_std] + +#[allow(unused_extern_crates)] // NOTE(allow) bug rust-lang/rust#53964 +extern crate panic_itm; // panic handler + +pub use cortex_m::{asm::bkpt, iprint, iprintln, peripheral::ITM}; +pub use cortex_m_rt::entry; +pub use stm32f3_discovery::{ + leds::Leds, + lsm303dlhc::I16x3, + stm32f3xx_hal::{delay::Delay, prelude, stm32::i2c1}, + switch_hal, +}; + +use stm32f3_discovery::{ + lsm303dlhc, + stm32f3xx_hal::{ + gpio::gpiob::{PB6, PB7}, + gpio::AF4, + i2c::I2c, + prelude::*, + stm32::{self, I2C1}, + }, +}; + +pub type Lsm303dlhc = lsm303dlhc::Lsm303dlhc, PB7)>>; + +/// Cardinal directions. Each one matches one of the user LEDs. +pub enum Direction { + /// North / LD3 + North, + /// Northeast / LD5 + Northeast, + /// East / LD7 + East, + /// Southeast / LD9 + Southeast, + /// South / LD10 + South, + /// Southwest / LD8 + Southwest, + /// West / LD6 + West, + /// Northwest / LD4 + Northwest, +} + +pub fn init() -> (Leds, Lsm303dlhc, Delay, ITM) { + let cp = cortex_m::Peripherals::take().unwrap(); + let dp = stm32::Peripherals::take().unwrap(); + + let mut flash = dp.FLASH.constrain(); + let mut rcc = dp.RCC.constrain(); + + let clocks = rcc.cfgr.freeze(&mut flash.acr); + + let mut gpioe = dp.GPIOE.split(&mut rcc.ahb); + let leds = Leds::new( + gpioe.pe8, + gpioe.pe9, + gpioe.pe10, + gpioe.pe11, + gpioe.pe12, + gpioe.pe13, + gpioe.pe14, + gpioe.pe15, + &mut gpioe.moder, + &mut gpioe.otyper, + ); + + let mut gpiob = dp.GPIOB.split(&mut rcc.ahb); + let scl = gpiob.pb6.into_af4(&mut gpiob.moder, &mut gpiob.afrl); + let sda = gpiob.pb7.into_af4(&mut gpiob.moder, &mut gpiob.afrl); + + let i2c = I2c::new(dp.I2C1, (scl, sda), 400.khz(), clocks, &mut rcc.apb1); + + let lsm303dlhc = Lsm303dlhc::new(i2c).unwrap(); + + let delay = Delay::new(cp.SYST, clocks); + + (leds, lsm303dlhc, delay, cp.ITM) +} diff --git a/f3discovery/15-led-compass/calibration.html b/f3discovery/15-led-compass/calibration.html new file mode 100644 index 000000000..ebc6c3e75 --- /dev/null +++ b/f3discovery/15-led-compass/calibration.html @@ -0,0 +1,323 @@ + + + + + + Calibration - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Calibration

+

If we rotate the board, the direction of the Earth's magnetic field with respect to the magnetometer +should change but its magnitude should not! Yet, the magnetometer indicates that the magnitude of +the magnetic field changes as the board rotates.

+

Why's that the case? Turns out the magnetometer needs to be calibrated to return the correct answer.

+

The calibration involves quite a bit of math (matrices) so we won't cover it here but this +Application Note describes the procedure if you are interested. Instead, what we'll do in this +section is visualize how off we are.

+

Let's try this experiment: Let's record the readings of the magnetometer while we slowly rotate the +board in different directions. We'll use the iprintln macro to format the readings as Tab +Separated Values (TSV).

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, I16x3};
+
+#[entry]
+fn main() -> ! {
+    let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init();
+
+    loop {
+        let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap();
+
+        iprintln!(&mut itm.stim[0], "{}\t{}\t{}", x, y, z);
+
+        delay.delay_ms(100_u8);
+    }
+}
+

You should get an output in the console that looks like this:

+
$ # itmdump console
+-76     213     -54
+-76     213     -54
+-76     213     -54
+-76     213     -54
+-73     213     -55
+
+

You can pipe that to a file using:

+
$ # Careful! Exit any running other `itmdump` instance that may be running
+$ itmdump -F -f itm.txt > emf.txt
+
+

Rotate the board in many different direction while you log data for a several seconds.

+

Then import that TSV file into a spreadsheet program (or use the Python script shown below) and plot +the first two columns as a scatter plot.

+
#!/usr/bin/python
+
+import csv
+import math
+import matplotlib.pyplot as plt
+import numpy as np
+import seaborn as sns
+import sys
+
+# apply plot style
+sns.set()
+
+x = []
+y = []
+
+with open(sys.argv[1], 'r') as f:
+    rows = csv.reader(f, delimiter='\t')
+
+    for row in rows:
+        # discard rows that are missing data
+        if len(row) != 3 or not row[0] or not row[1]:
+            continue
+
+        x.append(int(row[0]))
+        y.append(int(row[1]))
+
+r = math.ceil(max(max(np.abs(x)), max(np.abs(y))) / 100) * 100
+
+plt.plot(x, y, '.')
+plt.xlim(-r, r)
+plt.ylim(-r, r)
+plt.gca().set_aspect(1)
+plt.tight_layout()
+
+plt.savefig('emf.svg')
+plt.close
+
+

+ +

+

If you rotated the board on a flat horizontal surface, the Z component of the magnetic field should +have remained relatively constant and this plot should have been a circumference (not a ellipse) +centered at the origin. If you rotated the board in random directions, which was the case of plot +above, then you should have gotten a circle made of a bunch of points centered at the origin. +Deviations from the circle shape indicate that the magnetometer needs to be calibrated.

+

Take home message: Don't just trust the reading of a sensor. Verify it's outputting sensible values. +If it's not, then calibrate it.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/15-led-compass/index.html b/f3discovery/15-led-compass/index.html new file mode 100644 index 000000000..202657a3b --- /dev/null +++ b/f3discovery/15-led-compass/index.html @@ -0,0 +1,274 @@ + + + + + + LED compass - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

LED compass

+

In this section, we'll implement a compass using the LEDs on the F3. Like proper compasses, our LED +compass must point north somehow. It will do that by turning on one of its eight LEDs; the on LED +should point towards north.

+

Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction. The +magnetometer on the F3 measures both the magnitude and the direction of an external magnetic field +but it reports back the decomposition of said field along its axes.

+

See below, the magnetometer has three axes associated to it.

+

+ +

+

Only the X and Y axes are shown above. The Z axis is pointing "out" of your screen.

+

Let's get familiar with the readings of the magnetometer by running the following starter code:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*};
+
+#[entry]
+fn main() -> ! {
+    let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init();
+
+    loop {
+        iprintln!(&mut itm.stim[0], "{:?}", lsm303dlhc.mag().unwrap());
+        delay.delay_ms(1_000_u16);
+    }
+}
+

This lsm303dlhc module provides high level API over the LSM303DLHC. Under the hood it does the +same I2C routine that you implemented in the last section but it reports the X, Y and Z values in a +I16x3 struct instead of a tuple.

+

Locate where north is at your current location. Then rotate the board such that it's aligned +"towards north": the North LED (LD3) should be pointing towards north.

+

Now run the starter code and observe the output. What X, Y and Z values do you see?

+
$ # itmdump terminal
+(..)
+I16x3 { x: 45, y: 194, z: -3 }
+I16x3 { x: 46, y: 195, z: -8 }
+I16x3 { x: 47, y: 197, z: -2 }
+
+

Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do +you see this time? Then rotate it 90 degrees again. What values do you see?

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/15-led-compass/magnitude.html b/f3discovery/15-led-compass/magnitude.html new file mode 100644 index 000000000..d0df8cb2e --- /dev/null +++ b/f3discovery/15-led-compass/magnitude.html @@ -0,0 +1,289 @@ + + + + + + Magnitude - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Magnitude

+

We have been working with the direction of the magnetic field but what's its real magnitude? The +number that the magnetic_field function reports are unit-less. How can we convert those values to +Gauss?

+

The documentation will answer that question.

+
+

Section 2.1 Sensor characteristics - Page 10 - LSM303DLHC Data Sheet

+
+

The table in that page shows a magnetic gain setting that has different values according to the +values of the GN bits. By default, those GN bits are set to 001. That means that magnetic gain of +the X and Y axes is 1100 LSB / Gauss and the magnetic gain of the Z axis is 980 LSB / Gauss. LSB +stands for Least Significant Bits and the 1100 LSB / Gauss number indicates that a reading of +1100 is equivalent to 1 Gauss, a reading of 2200 is equivalent to 2 Gauss and so on.

+

So, what we need to do is divide the X, Y and Z values that the sensor outputs by its corresponding +gain. Then, we'll have the X, Y and Z components of the magnetic field in Gauss.

+

With some extra math we can retrieve the magnitude of the magnetic field from its X, Y and Z +components:

+
#![allow(unused)]
+fn main() {
+let magnitude = (x * x + y * y + z * z).sqrt();
+}
+

Putting all this together in a program:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, I16x3};
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    const XY_GAIN: f32 = 1100.; // LSB / G
+    const Z_GAIN: f32 = 980.; // LSB / G
+
+    let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init();
+
+    loop {
+        let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap();
+
+        let x = f32::from(x) / XY_GAIN;
+        let y = f32::from(y) / XY_GAIN;
+        let z = f32::from(z) / Z_GAIN;
+
+        let mag = (x * x + y * y + z * z).sqrt();
+
+        iprintln!(&mut itm.stim[0], "{} mG", mag * 1_000.);
+
+        delay.delay_ms(500_u16);
+    }
+}
+

This program will report the magnitude (strength) of the magnetic field in milligauss (mG). The +magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude +varies depending on your geographical location) so you should see a value in that range or close to +that range -- I see a magnitude of around 210 mG.

+

Some questions:

+

Without moving the board, what value do you see? Do you always see the same value?

+

If you rotate the board, does the magnitude change? Should it change?

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/15-led-compass/openocd.gdb b/f3discovery/15-led-compass/openocd.gdb new file mode 100644 index 000000000..df15d79d3 --- /dev/null +++ b/f3discovery/15-led-compass/openocd.gdb @@ -0,0 +1,10 @@ +target remote :3333 +set print asm-demangle on +set print pretty on +monitor tpiu config internal itm.txt uart off 8000000 +monitor itm port 0 on +load +break DefaultHandler +break HardFault +break main +continue diff --git a/f3discovery/15-led-compass/solution-1.html b/f3discovery/15-led-compass/solution-1.html new file mode 100644 index 000000000..d61671eac --- /dev/null +++ b/f3discovery/15-led-compass/solution-1.html @@ -0,0 +1,266 @@ + + + + + + Solution 1 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Solution 1

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        // Look at the signs of the X and Y components to determine in which
+        // quadrant the magnetic field is
+        let dir = match (x > 0, y > 0) {
+            // Quadrant I
+            (true, true) => Direction::Southeast,
+            // Quadrant II
+            (false, true) => Direction::Northeast,
+            // Quadrant III
+            (false, false) => Direction::Northwest,
+            // Quadrant IV
+            (true, false) => Direction::Southwest,
+        };
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/15-led-compass/solution-2.html b/f3discovery/15-led-compass/solution-2.html new file mode 100644 index 000000000..d7b92e9a1 --- /dev/null +++ b/f3discovery/15-led-compass/solution-2.html @@ -0,0 +1,279 @@ + + + + + + Solution 2 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Solution 2

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        let theta = (y as f32).atan2(x as f32); // in radians
+
+        let dir = if theta < -7. * PI / 8. {
+            Direction::North
+        } else if theta < -5. * PI / 8. {
+            Direction::Northwest
+        } else if theta < -3. * PI / 8. {
+            Direction::West
+        } else if theta < -PI / 8. {
+            Direction::Southwest
+        } else if theta < PI / 8. {
+            Direction::South
+        } else if theta < 3. * PI / 8. {
+            Direction::Southeast
+        } else if theta < 5. * PI / 8. {
+            Direction::East
+        } else if theta < 7. * PI / 8. {
+            Direction::Northeast
+        } else {
+            Direction::North
+        };
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(100_u8);
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/15-led-compass/src/main.rs b/f3discovery/15-led-compass/src/main.rs new file mode 100644 index 000000000..e4fc1a44b --- /dev/null +++ b/f3discovery/15-led-compass/src/main.rs @@ -0,0 +1,16 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux15::{entry, iprint, iprintln, prelude::*}; + +#[entry] +fn main() -> ! { + let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init(); + + loop { + iprintln!(&mut itm.stim[0], "{:?}", lsm303dlhc.mag().unwrap()); + delay.delay_ms(1_000_u16); + } +} diff --git a/f3discovery/15-led-compass/take-1.html b/f3discovery/15-led-compass/take-1.html new file mode 100644 index 000000000..2cc74e40e --- /dev/null +++ b/f3discovery/15-led-compass/take-1.html @@ -0,0 +1,290 @@ + + + + + + Take 1 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Take 1

+

What's the simplest way in which we can implement the LED compass? Even if it's not perfect.

+

For starters, we'd only care about the X and Y components of the magnetic field because when you +look at a compass you always hold it in horizontal position thus the compass is in the XY plane.

+

For example, what LED would you turn on in the following case. EMF stands for Earth's Magnetic Field +and green arrow has the direction of the EMF (it points north).

+

+ +

+

The Southeast LED, right?

+

What signs do the X and Y components of the magnetic field have in that scenario? Both are +positive.

+

If we only looked at the signs of the X and Y components we could determine to which quadrant the +magnetic field belongs to.

+

+ +

+

In the previous example, the magnetic field was in the first quadrant (x and y were positive) and it +made sense to turn on the SouthEast LED. Similarly, we could turn a different LED if the magnetic +field was in a different quadrant.

+

Let's try that logic. Here's the starter code:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        // Look at the signs of the X and Y components to determine in which
+        // quadrant the magnetic field is
+        let dir = match (x > 0, y > 0) {
+            // Quadrant ???
+            (true, true) => Direction::Southeast,
+            // Quadrant ???
+            (false, true) => panic!("TODO"),
+            // Quadrant ???
+            (false, false) => panic!("TODO"),
+            // Quadrant ???
+            (true, false) => panic!("TODO"),
+        };
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+

There's a Direction enum in the led module that has 8 variants named after the cardinal points: +North, East, Southwest, etc. Each of these variants represent one of the 8 LEDs in the +compass. The Leds value can be indexed using the Direction enum; the result of indexing is the +LED that points in that Direction.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/15-led-compass/take-2.html b/f3discovery/15-led-compass/take-2.html new file mode 100644 index 000000000..7adc1c80b --- /dev/null +++ b/f3discovery/15-led-compass/take-2.html @@ -0,0 +1,281 @@ + + + + + + Take 2 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Take 2

+

This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y +axes of the magnetometer.

+

We'll use the atan2 function. This function returns an angle in the -PI to PI range. The +graphic below shows how this angle is measured:

+

+ +

+

Although not explicitly shown in this graph the X axis points to the right and the Y axis points up.

+

Here's the starter code. theta, in radians, has already been computed. You need to pick which LED +to turn on based on the value of theta.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+// this trait provides the `atan2` method
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        let _theta = (y as f32).atan2(x as f32); // in radians
+
+        // FIXME pick a direction to point to based on `theta`
+        let dir = Direction::Southeast;
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(100_u8);
+    }
+}
+

Suggestions/tips:

+
    +
  • A whole circle rotation equals 360 degrees.
  • +
  • PI radians is equivalent to 180 degrees.
  • +
  • If theta was zero, what LED would you turn on?
  • +
  • If theta was, instead, very close to zero, what LED would you turn on?
  • +
  • If theta kept increasing, at what value would you turn on a different LED?
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/16-punch-o-meter/Cargo.toml b/f3discovery/16-punch-o-meter/Cargo.toml new file mode 100644 index 000000000..69b3008df --- /dev/null +++ b/f3discovery/16-punch-o-meter/Cargo.toml @@ -0,0 +1,11 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "punch-o-meter" +version = "0.1.0" + +[dependencies] +m = "0.1.1" +aux16 = { path = "auxiliary" } +cortex-m = "0.5.6" +cortex-m-rt = "0.6.3" diff --git a/f3discovery/16-punch-o-meter/auxiliary/Cargo.toml b/f3discovery/16-punch-o-meter/auxiliary/Cargo.toml new file mode 100644 index 000000000..aceff4f13 --- /dev/null +++ b/f3discovery/16-punch-o-meter/auxiliary/Cargo.toml @@ -0,0 +1,11 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "aux16" +version = "0.1.0" + +[dependencies] +cortex-m = "0.6.3" +cortex-m-rt = "0.6.3" +panic-itm = "0.4.0" +stm32f3-discovery = "0.6.0" diff --git a/f3discovery/16-punch-o-meter/auxiliary/src/lib.rs b/f3discovery/16-punch-o-meter/auxiliary/src/lib.rs new file mode 100644 index 000000000..9211408b8 --- /dev/null +++ b/f3discovery/16-punch-o-meter/auxiliary/src/lib.rs @@ -0,0 +1,52 @@ +//! Initialization code + +#![no_std] + +#[allow(unused_extern_crates)] // NOTE(allow) bug rust-lang/rust#53964 +extern crate panic_itm; // panic handler + +pub use cortex_m::{asm::bkpt, iprint, iprintln, peripheral::ITM}; +pub use cortex_m_rt::entry; +pub use stm32f3_discovery::{ + lsm303dlhc::{self, I16x3, Sensitivity}, + stm32f3xx_hal::{delay::Delay, prelude, time::MonoTimer}, +}; + +use stm32f3_discovery::stm32f3xx_hal::{ + gpio::gpiob::{PB6, PB7}, + gpio::AF4, + i2c::I2c, + prelude::*, + stm32::{self, I2C1}, +}; + +pub type Lsm303dlhc = lsm303dlhc::Lsm303dlhc, PB7)>>; + +pub fn init() -> (Lsm303dlhc, Delay, MonoTimer, ITM) { + let cp = cortex_m::Peripherals::take().unwrap(); + let dp = stm32::Peripherals::take().unwrap(); + + let mut flash = dp.FLASH.constrain(); + let mut rcc = dp.RCC.constrain(); + + let clocks = rcc.cfgr.freeze(&mut flash.acr); + + let mut gpioe = dp.GPIOE.split(&mut rcc.ahb); + let mut nss = gpioe + .pe3 + .into_push_pull_output(&mut gpioe.moder, &mut gpioe.otyper); + nss.set_high().unwrap(); + + let mut gpiob = dp.GPIOB.split(&mut rcc.ahb); + let scl = gpiob.pb6.into_af4(&mut gpiob.moder, &mut gpiob.afrl); + let sda = gpiob.pb7.into_af4(&mut gpiob.moder, &mut gpiob.afrl); + + let i2c = I2c::new(dp.I2C1, (scl, sda), 400.khz(), clocks, &mut rcc.apb1); + + let lsm303dlhc = Lsm303dlhc::new(i2c).unwrap(); + + let delay = Delay::new(cp.SYST, clocks); + let mono_timer = MonoTimer::new(cp.DWT, clocks); + + (lsm303dlhc, delay, mono_timer, cp.ITM) +} diff --git a/f3discovery/16-punch-o-meter/gravity-is-up.html b/f3discovery/16-punch-o-meter/gravity-is-up.html new file mode 100644 index 000000000..2d487a87e --- /dev/null +++ b/f3discovery/16-punch-o-meter/gravity-is-up.html @@ -0,0 +1,287 @@ + + + + + + Gravity is up? - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Gravity is up?

+

What's the first thing we'll do?

+

Perform a sanity check!

+

The starter code prints the X, Y and Z components of the acceleration measured by the accelerometer. +The values have already been "scaled" and have units of gs. Where 1 g is equal to the +acceleration of the gravity, about 9.8 meters per second squared.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity};
+
+#[entry]
+fn main() -> ! {
+    let (mut lsm303dlhc, mut delay, _mono_timer, mut itm) = aux16::init();
+
+    // extend sensing range to `[-12g, +12g]`
+    lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap();
+    loop {
+        const SENSITIVITY: f32 = 12. / (1 << 14) as f32;
+
+        let I16x3 { x, y, z } = lsm303dlhc.accel().unwrap();
+
+        let x = f32::from(x) * SENSITIVITY;
+        let y = f32::from(y) * SENSITIVITY;
+        let z = f32::from(z) * SENSITIVITY;
+
+        iprintln!(&mut itm.stim[0], "{:?}", (x, y, z));
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+

The output of this program with the board sitting still will be something like:

+
$ # itmdump console
+(..)
+(0.0, 0.0, 1.078125)
+(0.0, 0.0, 1.078125)
+(0.0, 0.0, 1.171875)
+(0.0, 0.0, 1.03125)
+(0.0, 0.0, 1.078125)
+
+

Which is weird because the board is not moving yet its acceleration is non-zero. What's going on? +This must be related to the gravity, right? Because the acceleration of gravity is 1 g. But the +gravity pulls objects downwards so the acceleration along the Z axis should be negative not positive +...

+

Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity +to the X or Y axis but the acceleration measured by the accelerometer is always pointing up.

+

What happens here is that the accelerometer is measuring the proper acceleration of the board not +the acceleration you are observing. This proper acceleration is the acceleration of the board as +seen from a observer that's in free fall. An observer that's in free fall is moving toward the +center of the the Earth with an acceleration of 1g; from its point of view the board is actually +moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the +proper acceleration is pointing up. This also means that if the board was in free fall, the +accelerometer would report a proper acceleration of zero. Please, don't try that at home.

+

Yes, physics is hard. Let's move on.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/16-punch-o-meter/index.html b/f3discovery/16-punch-o-meter/index.html new file mode 100644 index 000000000..7bc8efcc1 --- /dev/null +++ b/f3discovery/16-punch-o-meter/index.html @@ -0,0 +1,244 @@ + + + + + + Punch-o-meter - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Punch-o-meter

+

In this section we'll be playing with the accelerometer that's in the board.

+

What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, +actually the maximum acceleration that you can reach because acceleration is what accelerometers +measure. Strength and acceleration are proportional though so it's a good approximation.

+

The accelerometer is also built inside the LSM303DLHC package. And just like the magnetometer, it +can also be accessed using the I2C bus. It also has the same coordinate system as the magnetometer. +Here's the coordinate system again:

+

+ +

+

Just like in the previous unit, we'll be using a high level API to directly get the sensor readings +in a nicely packaged struct.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/16-punch-o-meter/my-solution.html b/f3discovery/16-punch-o-meter/my-solution.html new file mode 100644 index 000000000..464525ff1 --- /dev/null +++ b/f3discovery/16-punch-o-meter/my-solution.html @@ -0,0 +1,286 @@ + + + + + + My solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

My solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity};
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    const SENSITIVITY: f32 = 12. / (1 << 14) as f32;
+    const THRESHOLD: f32 = 0.5;
+
+    let (mut lsm303dlhc, mut delay, mono_timer, mut itm) = aux16::init();
+
+    lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap();
+
+    let measurement_time = mono_timer.frequency().0; // 1 second in ticks
+    let mut instant = None;
+    let mut max_g = 0.;
+    loop {
+        let g_x = f32::from(lsm303dlhc.accel().unwrap().x).abs() * SENSITIVITY;
+
+        match instant {
+            None => {
+                // If acceleration goes above a threshold, we start measuring
+                if g_x > THRESHOLD {
+                    iprintln!(&mut itm.stim[0], "START!");
+
+                    max_g = g_x;
+                    instant = Some(mono_timer.now());
+                }
+            }
+            // Still measuring
+            Some(ref instant) if instant.elapsed() < measurement_time => {
+                if g_x > max_g {
+                    max_g = g_x;
+                }
+            }
+            _ => {
+                // Report max value
+                iprintln!(&mut itm.stim[0], "Max acceleration: {}g", max_g);
+
+                // Measurement done
+                instant = None;
+
+                // Reset
+                max_g = 0.;
+            }
+        }
+
+        delay.delay_ms(50_u8);
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/16-punch-o-meter/openocd.gdb b/f3discovery/16-punch-o-meter/openocd.gdb new file mode 100644 index 000000000..df15d79d3 --- /dev/null +++ b/f3discovery/16-punch-o-meter/openocd.gdb @@ -0,0 +1,10 @@ +target remote :3333 +set print asm-demangle on +set print pretty on +monitor tpiu config internal itm.txt uart off 8000000 +monitor itm port 0 on +load +break DefaultHandler +break HardFault +break main +continue diff --git a/f3discovery/16-punch-o-meter/src/main.rs b/f3discovery/16-punch-o-meter/src/main.rs new file mode 100644 index 000000000..7ade4369f --- /dev/null +++ b/f3discovery/16-punch-o-meter/src/main.rs @@ -0,0 +1,27 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[allow(unused_imports)] +use aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity}; + +#[entry] +fn main() -> ! { + let (mut lsm303dlhc, mut delay, _mono_timer, mut itm) = aux16::init(); + + // extend sensing range to `[-12g, +12g]` + lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap(); + loop { + const SENSITIVITY: f32 = 12. / (1 << 14) as f32; + + let I16x3 { x, y, z } = lsm303dlhc.accel().unwrap(); + + let x = f32::from(x) * SENSITIVITY; + let y = f32::from(y) * SENSITIVITY; + let z = f32::from(z) * SENSITIVITY; + + iprintln!(&mut itm.stim[0], "{:?}", (x, y, z)); + + delay.delay_ms(1_000_u16); + } +} diff --git a/f3discovery/16-punch-o-meter/the-challenge.html b/f3discovery/16-punch-o-meter/the-challenge.html new file mode 100644 index 000000000..72ca261ba --- /dev/null +++ b/f3discovery/16-punch-o-meter/the-challenge.html @@ -0,0 +1,246 @@ + + + + + + The challenge - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The challenge

+

To keep things simple, we'll measure the acceleration only in the X axis while the board remains +horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed +before which would be hard because that 1g could have X Y Z components depending on how the board +is oriented.

+

Here's what the punch-o-meter must do:

+
    +
  • By default, the app is not "observing" the acceleration of the board.
  • +
  • When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), +the app should start a new measurement.
  • +
  • During that measurement interval, the app should keep track of the maximum acceleration observed
  • +
  • After the measurement interval ends, the app must report the maximum acceleration observed. You +can report the value using the iprintln macro.
  • +
+

Give it a try and let me know how hard you can punch ;-).

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/404.html b/f3discovery/404.html new file mode 100644 index 000000000..22b9a214f --- /dev/null +++ b/f3discovery/404.html @@ -0,0 +1,222 @@ + + + + + + Page not found - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Document not found (404)

+

This URL is invalid, sorry. Please use the navigation bar or search to continue.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/FontAwesome/css/font-awesome.css b/f3discovery/FontAwesome/css/font-awesome.css new file mode 100644 index 000000000..540440ce8 --- /dev/null +++ b/f3discovery/FontAwesome/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/f3discovery/FontAwesome/fonts/FontAwesome.ttf b/f3discovery/FontAwesome/fonts/FontAwesome.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/f3discovery/FontAwesome/fonts/FontAwesome.ttf differ diff --git a/f3discovery/FontAwesome/fonts/fontawesome-webfont.eot b/f3discovery/FontAwesome/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/f3discovery/FontAwesome/fonts/fontawesome-webfont.eot differ diff --git a/f3discovery/FontAwesome/fonts/fontawesome-webfont.svg b/f3discovery/FontAwesome/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/f3discovery/FontAwesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/f3discovery/FontAwesome/fonts/fontawesome-webfont.ttf b/f3discovery/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/f3discovery/FontAwesome/fonts/fontawesome-webfont.ttf differ diff --git a/f3discovery/FontAwesome/fonts/fontawesome-webfont.woff b/f3discovery/FontAwesome/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/f3discovery/FontAwesome/fonts/fontawesome-webfont.woff differ diff --git a/f3discovery/FontAwesome/fonts/fontawesome-webfont.woff2 b/f3discovery/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/f3discovery/FontAwesome/fonts/fontawesome-webfont.woff2 differ diff --git a/f3discovery/WIP-async-io-the-future/.cargo/config b/f3discovery/WIP-async-io-the-future/.cargo/config new file mode 100644 index 000000000..2b0f726e2 --- /dev/null +++ b/f3discovery/WIP-async-io-the-future/.cargo/config @@ -0,0 +1,7 @@ +[target.thumbv7em-none-eabihf] +rustflags = [ + "-C", + "link-arg=-Tstm32f3discovery.ld", + "-C", + "link-arg=-nostartfiles", +] diff --git a/f3discovery/WIP-async-io-the-future/.gdbinit b/f3discovery/WIP-async-io-the-future/.gdbinit new file mode 100644 index 000000000..f290b5a06 --- /dev/null +++ b/f3discovery/WIP-async-io-the-future/.gdbinit @@ -0,0 +1,6 @@ +target remote :3333 +set print asm-demangle on +load +monitor tpiu config internal itm.txt uart off 8000000 +break main +continue diff --git a/f3discovery/WIP-async-io-the-future/Cargo.toml b/f3discovery/WIP-async-io-the-future/Cargo.toml new file mode 100644 index 000000000..f1a83909a --- /dev/null +++ b/f3discovery/WIP-async-io-the-future/Cargo.toml @@ -0,0 +1,16 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "async" +version = "0.1.0" + +[dependencies] +fixedvec = "0.2.3" +pg = { path = "pg" } + +[profile.dev] +codegen-units = 1 + +[profile.release] +debug = true +lto = true diff --git a/f3discovery/WIP-async-io-the-future/pg/Cargo.toml b/f3discovery/WIP-async-io-the-future/pg/Cargo.toml new file mode 100644 index 000000000..1a2b98c6c --- /dev/null +++ b/f3discovery/WIP-async-io-the-future/pg/Cargo.toml @@ -0,0 +1,14 @@ +[package] +authors = ["Jorge Aparicio "] +edition = "2018" +name = "pg" +version = "0.1.0" + +[dependencies.f3] +default-features = false +features = [ + "default-exception-handler", + "default-panic-fmt", + "static-ram", +] +version = "0.3.0" diff --git a/f3discovery/WIP-async-io-the-future/pg/src/lib.rs b/f3discovery/WIP-async-io-the-future/pg/src/lib.rs new file mode 100644 index 000000000..f8e6fa599 --- /dev/null +++ b/f3discovery/WIP-async-io-the-future/pg/src/lib.rs @@ -0,0 +1,254 @@ +//! Playground + +#![feature(macro_reexport)] +#![no_std] + +#[macro_reexport(bkpt, iprint, iprintln)] +extern crate f3; + +use core::marker::PhantomData; + +#[doc(hidden)] +pub use f3::itm; + +pub use f3::{led, time}; + +use f3::peripheral; + +#[export_name = "_init"] +pub unsafe fn init() { + f3::fpu::init(); + f3::itm::init(); + f3::led::init(); + f3::time::init(); +} + +/// Trait for types which are a placeholder of a value that will become +/// available at possible some later point in time. +pub trait Future { + type Item; + + /// Check if this future has completed + fn poll(&mut self) -> Async; + + /// Drive a future to its completion by continuously calling `poll` + fn wait(mut self) -> Self::Item + where Self: Sized + { + loop { + if let Async::Ready(item) = self.poll() { + return item; + } + } + } +} + +/// Return type of future, indicating whether a value is ready or not. +pub enum Async { + Ready(T), + NotReady, +} + +pub struct SerialPort { + _0: (), +} + +pub struct Serial { + pub rx: Rx, + pub tx: Tx, +} + +impl Serial { + pub fn new() -> Option { + unsafe { + static mut YIELDED: bool = false; + + if YIELDED { + None + } else { + YIELDED = true; + + let gpioa = peripheral::gpioa_mut(); + let rcc = peripheral::rcc_mut(); + let usart1 = peripheral::usart1_mut(); + + // RCC: Enable USART1 and GPIOC + rcc.apb2enr.modify(|_, w| w.usart1en(true)); + rcc.ahbenr.modify(|_, w| w.iopaen(true)); + + // GPIO: configure PA9 as TX and PA10 as RX + // AFRH9: USART1_TX + // AFRH10: USART1_RX + gpioa.afrh.modify(|_, w| w.afrh9(7).afrh10(7)); + // MODER9: Alternate mode + // MODER10: Alternate mode + gpioa.moder.modify(|_, w| w.moder9(0b10).moder10(0b10)); + + // USART1: 115200 - 8N1 + usart1.cr2.write(|w| w.stop(0b00)); + + // Disable hardware flow control + usart1.cr3.write(|w| w.rtse(false).ctse(false)); + + const APB2_CLOCK: u32 = 8_000_000; + const BAUD_RATE: u32 = 115_200; + let brr = (APB2_CLOCK / BAUD_RATE) as u16; + usart1.brr.write(|w| { + w.div_fraction((brr & 0b1111) as u8) + .div_mantissa(brr >> 4) + }); + + // UE: Enable USART + // RE: Enable the receiver + // TE: Enable the transmitter + // PCE: No parity + // OVER8: Oversampling by 16 -- to set the baud rate + usart1.cr1.write(|w| { + w.ue(true) + .re(true) + .te(true) + .pce(false) + .over8(false) + }); + + Some(Serial { + rx: Rx { _0: () }, + tx: Tx { _0: () }, + }) + } + } + } +} + +pub struct Rx { + _0: (), +} + +impl Rx { + pub fn bytes(&mut self) -> Bytes { + Bytes { _marker: PhantomData } + } +} + +pub struct Bytes<'a> { + _marker: PhantomData<&'a mut Rx>, +} + +impl<'a> Future for Bytes<'a> { + type Item = u8; + + fn poll(&mut self) -> Async { + let usart1 = peripheral::usart1(); + + if usart1.isr.read().rxne() { + // unsafe { bkpt!() }; + Async::Ready(usart1.rdr.read().rdr() as u8) + } else { + Async::NotReady + } + } +} + +pub struct Tx { + _0: (), +} + +impl Tx { + pub fn write(&mut self, byte: u8) -> Write { + Write { + _marker: PhantomData, + byte: byte, + done: false, + } + } +} + +#[must_use = "futures do nothing unless polled"] +pub struct Write<'a> { + _marker: PhantomData<&'a mut Tx>, + byte: u8, + done: bool, +} + +impl<'a> Future for Write<'a> { + type Item = (); + + fn poll(&mut self) -> Async<()> { + if self.done { + panic!("cannot poll Write twice"); + } + + // NOTE this future owns the TDR register + let usart1 = unsafe { peripheral::usart1_mut() }; + + if usart1.isr.read().txe() { + usart1.tdr.write(|w| w.tdr(u16::from(self.byte))); + self.done = true; + Async::Ready(()) + } else { + Async::NotReady + } + } +} + +pub struct Timer { + _0: (), +} + +impl Timer { + pub fn new() -> Option { + unsafe { + static mut YIELDED: bool = false; + + if YIELDED { + None + } else { + YIELDED = true; + + let rcc = peripheral::rcc_mut(); + let tim7 = peripheral::tim7_mut(); + + rcc.apb1enr.modify(|_, w| w.tim7en(true)); + tim7.psc.write(|w| w.psc(7_999)); + + Some(Timer { _0: () }) + } + } + } + + pub fn periodic(&mut self, ms: u16) -> Periodic { + unsafe { + let tim7 = peripheral::tim7_mut(); + + tim7.arr.write(|w| w.arr(ms)); + tim7.egr.write(|w| w.ug(true)); + tim7.sr.read(); + tim7.sr.write(|w| w); + tim7.cr1.modify(|_, w| w.opm(false).cen(true)); + + Periodic { _marker: PhantomData } + } + } +} + +#[must_use = "futures do nothing unless polled"] +pub struct Periodic<'a> { + _marker: PhantomData<&'a mut Timer>, +} + +impl<'a> Future for Periodic<'a> { + type Item = (); + + fn poll(&mut self) -> Async<()> { + unsafe { + let tim7 = peripheral::tim7_mut(); + + if tim7.sr.read().uif() { + tim7.sr.write(|w| w); + Async::Ready(()) + } else { + Async::NotReady + } + } + } +} diff --git a/f3discovery/WIP-async-io-the-future/src/main.rs b/f3discovery/WIP-async-io-the-future/src/main.rs new file mode 100644 index 000000000..6f6080aef --- /dev/null +++ b/f3discovery/WIP-async-io-the-future/src/main.rs @@ -0,0 +1,31 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +#[macro_use] +extern crate pg; + +use core::iter; + +use pg::led::LEDS; +use pg::{Async, Future, Timer}; + +#[inline(never)] +#[no_mangle] +pub fn main() -> ! { + let mut timer = Timer::new().unwrap(); + + let mut periodic = timer.periodic(100); + let mut leds = LEDS.iter() + .zip(LEDS.iter().skip(1)) + .chain(iter::once((&LEDS[7], &LEDS[0]))) + .cycle(); + loop { + if let Async::Ready(()) = periodic.poll() { + if let Some((current, next)) = leds.next() { + current.off(); + next.on(); + } + } + } +} diff --git a/f3discovery/appendix/1-general-troubleshooting/index.html b/f3discovery/appendix/1-general-troubleshooting/index.html new file mode 100644 index 000000000..afb45ae08 --- /dev/null +++ b/f3discovery/appendix/1-general-troubleshooting/index.html @@ -0,0 +1,390 @@ + + + + + + General troubleshooting - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

General troubleshooting

+

OpenOCD problems

+

can't connect to OpenOCD - "Error: open failed"

+

Symptoms

+

Upon trying to establish a new connection with the device you get an error +that looks like this:

+
$ openocd -f (..)
+(..)
+Error: open failed
+in procedure 'init'
+in procedure 'ocd_bouncer'
+
+

Cause

+

The device is not (properly) connected or not the correct ST-LINK interface +configuration is used.

+

Fix

+

Linux:

+
    +
  • Check the USB connection using lsusb.
  • +
  • You may not have enough permission to open the device. Try again with sudo. +If that works, you can use these instructions to make OpenOCD work without +root privilege.
  • +
  • You might be using the wrong interface configuration for your ST-LINK. +Try interface/stlink-v2.cfg instead of interface/stlink-v2-1.cfg.
  • +
+

Windows:

+
    +
  • You are probably missing the ST-LINK USB driver. Installation instructions +here.
  • +
+

can't connect to OpenOCD - "Polling again in X00ms"

+

Symptoms

+

Upon trying to establish a new connection with the device you get an error +that looks like this:

+
$ openocd -f (..)
+(..)
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 100ms
+Info : Previous state query failed, trying to reconnect
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 300ms
+Info : Previous state query failed, trying to reconnect
+
+

Cause

+

The microcontroller may have get stuck in some tight infinite loop or it may be +continuously raising an exception, e.g. the exception handler is raising an +exception.

+

Fix

+
    +
  • Close OpenOCD, if running
  • +
  • Press and hold the reset (black) button
  • +
  • Launch the OpenOCD command
  • +
  • Now, release the reset button
  • +
+

OpenOCD connection lost - "Polling again in X00ms"

+

Symptoms

+

A running OpenOCD session suddenly errors with:

+
# openocd -f (..)
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 100ms
+Info : Previous state query failed, trying to reconnect
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 300ms
+Info : Previous state query failed, trying to reconnect
+
+

Cause

+

The USB connection was lost.

+

Fix

+
    +
  • Close OpenOCD
  • +
  • Disconnect and re-connect the USB cable.
  • +
  • Re-launch OpenOCD
  • +
+

Can't flash the device - "Ignoring packet error, continuing..."

+

Symptoms

+

While flashing the device, you get:

+
$ arm-none-eabi-gdb $file
+Start address 0x8000194, load size 31588
+Transfer rate: 22 KB/sec, 5264 bytes/write.
+Ignoring packet error, continuing...
+Ignoring packet error, continuing...
+
+

Cause

+

Closed itmdump while a program that "printed" to the ITM was running. The +current GDB session will appear to work normally, just without ITM output but +the next GDB session will error with the message that was shown in the previous +section.

+

Or, itmdump was called after the monitor tpiu was issued thus making +itmdump delete the file / named-pipe that OpenOCD was writing to.

+

Fix

+
    +
  • Close/kill GDB, OpenOCD and itmdump
  • +
  • Remove the file / named-pipe that itmdump was using (for example, +itm.txt).
  • +
  • Launch OpenOCD
  • +
  • Then, launch itmdump
  • +
  • Then, launch the GDB session that executes the monitor tpiu command.
  • +
+

can't connect to OpenOCD - "Error: couldn't bind [telnet] to socket: Address already in use"

+

Symptoms

+

Upon trying to establish a new connection with the device you get an error +that looks something like this:

+
$ openocd -f (..)
+(..)
+Error: couldn't bind telnet to socket: Address already in use
+
+

Cause

+

One or more of the ports OpenOCD requires access to, 3333, 4444, or 6666, is in use by another process. Each of these ports is used for another aspect: 3333 for gdb, 4444 for telnet, 6666 for remote procedure call (RPC) commands to TCL

+

Fix

+

You can go two routes for fixing this. A) Kill any process that's using one of those ports. B) Specify different ports you know to be free for OpenOCD to use.

+

Solution A

+

Mac:

+
    +
  • Get a list of processes using ports by running sudo lsof -PiTCP -sTCP:LISTEN
  • +
  • Kill the process(es) blocking the key ports by noting their pid(s) and running kill [pid] for each. (Assuming you can confirm they're not running anything mission-critical on your machine!)
  • +
+

Solution B

+

All:

+
    +
  • Send configuration details to OpenOCD when starting it up so that it uses a different port from the default for any of the processes.
  • +
  • For example, to do its telnet features on 4441 instead of the default 4444, you would run openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg -c "telnet_port 4441"
  • +
  • More details on OpenOCD's Configuration Stage can be found in their official docs online.
  • +
+

Cargo problems

+

"can't find crate for core"

+

Symptoms

+
   Compiling volatile-register v0.1.2
+   Compiling rlibc v1.0.0
+   Compiling r0 v0.1.0
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+Build failed, waiting for other jobs to finish...
+Build failed, waiting for other jobs to finish...
+error: Could not compile `r0`.
+
+To learn more, run the command again with --verbose.
+
+

Cause

+

You are using a toolchain older than nightly-2018-04-08 and forgot to call rustup target add thumbv7em-none-eabihf.

+

Fix

+

Update your nightly and install the thumbv7em-none-eabihf target.

+
$ rustup update nightly
+
+$ rustup target add thumbv7em-none-eabihf
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/appendix/2-how-to-use-gdb/index.html b/f3discovery/appendix/2-how-to-use-gdb/index.html new file mode 100644 index 000000000..0b88b6c5f --- /dev/null +++ b/f3discovery/appendix/2-how-to-use-gdb/index.html @@ -0,0 +1,361 @@ + + + + + + How to use GDB - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

How to use GDB

+

Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached to an OpenOCD session.

+

General Debugging

+
+

NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!

+
+

Dealing with Breakpoints

+
    +
  • break $location: Set a breakpoint at a place in your code. The value of $location can include: +
      +
    • break *main - Break on the exact address of the function main
    • +
    • break *0x080012f2 - Break on the exact memory location 0x080012f2
    • +
    • break 123 - Break on line 123 of the currently displayed file
    • +
    • break main.rs:123 - Break on line 123 of the file main.rs
    • +
    +
  • +
  • info break: Display current breakpoints
  • +
  • delete: Delete all breakpoints +
      +
    • delete $n: Delete breakpoint $n (n being a number. For example: delete $2)
    • +
    +
  • +
  • clear: Delete breakpoint at next instruction +
      +
    • clear main.rs:$function: Delete breakpoint at entry of $function in main.rs
    • +
    • clear main.rs:123: Delete breakpoint on line 123 of main.rs
    • +
    +
  • +
  • enable: Enable all set breakpoints +
      +
    • enable $n: Enable breakpoint $n
    • +
    +
  • +
  • disable: Disable all set breakpoints +
      +
    • disable $n: Disable breakpoint $n
    • +
    +
  • +
+

Controlling Execution

+
    +
  • continue: Begin or continue execution of your program
  • +
  • next: Execute the next line of your program +
      +
    • next $n: Repeat next $n number times
    • +
    +
  • +
  • nexti: Same as next but with machine instructions instead
  • +
  • step: Execute the next line, if the next line includes a call to another function, step into that code +
      +
    • step $n: Repeat step $n number times
    • +
    +
  • +
  • stepi: Same as step but with machine instructions instead
  • +
  • jump $location: Resume execution at specified location: +
      +
    • jump 123: Resume execution at line 123
    • +
    • jump 0x080012f2: Resume execution at address 0x080012f2
    • +
    +
  • +
+

Printing Information

+
    +
  • print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: +
    x: hexadecimal 
    +d: signed decimal
    +u: unsigned decimal
    +o: octal
    +t: binary
    +a: address
    +c: character
    +f: floating point
    +
    +
      +
    • print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010)
    • +
    +
  • +
  • x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, $u unit size (bytes, halfwords, words, etc), $f any print format defined above +
      +
    • x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4
    • +
    • x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing
    • +
    +
  • +
  • disassemble $location +
      +
    • disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction
    • +
    +
  • +
+

Looking at the Symbol Table

+
    +
  • info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions +
      +
    • info functions main: Print names and types of defined functions that contain the word main
    • +
    +
  • +
  • info address $symbol: Print where $symbol is stored in memory +
      +
    • info address GPIOC: Print the memory address of the variable GPIOC
    • +
    +
  • +
  • info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables
  • +
  • ptype $data: Print more detailed information about $data +
      +
    • ptype cp: Print detailed type information about the variable cp
    • +
    +
  • +
+

Poking around the Program Stack

+
    +
  • backtrace $n: Print trace of $n frames, or omit $n to print all frames +
      +
    • backtrace 2: Print trace of first 2 frames
    • +
    +
  • +
  • frame $n: Select frame with number or address $n, omit $n to display current frame
  • +
  • up $n: Select frame $n frames up
  • +
  • down $n: Select frame $n frames down
  • +
  • info frame $address: Describe frame at $address, omit $address for currently selected frame
  • +
  • info args: Print arguments of selected frame
  • +
  • info registers $r: Print the value of register $r in selected frame, omit $r for all registers +
      +
    • info registers $sp: Print the value of the stack pointer register $sp in the current frame
    • +
    +
  • +
+

Controlling OpenOCD Remotely

+
    +
  • monitor reset run: Reset the CPU, starting execution over again +
      +
    • monitor reset: Same as above
    • +
    +
  • +
  • monitor reset init: Reset the CPU, halting execution at the start
  • +
  • monitor targets: Display information and state of current target
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/assets/bluetooth-serial.png b/f3discovery/assets/bluetooth-serial.png new file mode 100644 index 000000000..4b59e2c19 Binary files /dev/null and b/f3discovery/assets/bluetooth-serial.png differ diff --git a/f3discovery/assets/bluetooth.jpg b/f3discovery/assets/bluetooth.jpg new file mode 100644 index 000000000..cc30de01e Binary files /dev/null and b/f3discovery/assets/bluetooth.jpg differ diff --git a/f3discovery/assets/emf.svg b/f3discovery/assets/emf.svg new file mode 100644 index 000000000..b7c983844 --- /dev/null +++ b/f3discovery/assets/emf.svg @@ -0,0 +1,841 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/f3discovery/assets/f3-bluetooth-loopback.png b/f3discovery/assets/f3-bluetooth-loopback.png new file mode 100644 index 000000000..79e5090a8 Binary files /dev/null and b/f3discovery/assets/f3-bluetooth-loopback.png differ diff --git a/f3discovery/assets/f3-bluetooth-power-only.png b/f3discovery/assets/f3-bluetooth-power-only.png new file mode 100644 index 000000000..d61b060da Binary files /dev/null and b/f3discovery/assets/f3-bluetooth-power-only.png differ diff --git a/f3discovery/assets/f3-bluetooth.png b/f3discovery/assets/f3-bluetooth.png new file mode 100644 index 000000000..703e419f7 Binary files /dev/null and b/f3discovery/assets/f3-bluetooth.png differ diff --git a/f3discovery/assets/f3-l3gd20.png b/f3discovery/assets/f3-l3gd20.png new file mode 100644 index 000000000..b478b8ff5 Binary files /dev/null and b/f3discovery/assets/f3-l3gd20.png differ diff --git a/f3discovery/assets/f3-lsm303dlhc.png b/f3discovery/assets/f3-lsm303dlhc.png new file mode 100644 index 000000000..5bca305ba Binary files /dev/null and b/f3discovery/assets/f3-lsm303dlhc.png differ diff --git a/f3discovery/assets/f3-serial-production.png b/f3discovery/assets/f3-serial-production.png new file mode 100644 index 000000000..fad594f02 Binary files /dev/null and b/f3discovery/assets/f3-serial-production.png differ diff --git a/f3discovery/assets/f3-serial.png b/f3discovery/assets/f3-serial.png new file mode 100644 index 000000000..b815e3889 Binary files /dev/null and b/f3discovery/assets/f3-serial.png differ diff --git a/f3discovery/assets/f3-swd.png b/f3discovery/assets/f3-swd.png new file mode 100644 index 000000000..a31bd5387 Binary files /dev/null and b/f3discovery/assets/f3-swd.png differ diff --git a/f3discovery/assets/f3.jpg b/f3discovery/assets/f3.jpg new file mode 100644 index 000000000..7a122aa04 Binary files /dev/null and b/f3discovery/assets/f3.jpg differ diff --git a/f3discovery/assets/gdb-layout-asm.png b/f3discovery/assets/gdb-layout-asm.png new file mode 100644 index 000000000..70fa51c75 Binary files /dev/null and b/f3discovery/assets/gdb-layout-asm.png differ diff --git a/f3discovery/assets/gdb-layout-split-1.png b/f3discovery/assets/gdb-layout-split-1.png new file mode 100644 index 000000000..f3d6df494 Binary files /dev/null and b/f3discovery/assets/gdb-layout-split-1.png differ diff --git a/f3discovery/assets/gdb-layout-split-2.png b/f3discovery/assets/gdb-layout-split-2.png new file mode 100644 index 000000000..db2ecdaef Binary files /dev/null and b/f3discovery/assets/gdb-layout-split-2.png differ diff --git a/f3discovery/assets/gdb-layout-split-3.png b/f3discovery/assets/gdb-layout-split-3.png new file mode 100644 index 000000000..b3e5210e5 Binary files /dev/null and b/f3discovery/assets/gdb-layout-split-3.png differ diff --git a/f3discovery/assets/gdb-layout-split-4.png b/f3discovery/assets/gdb-layout-split-4.png new file mode 100644 index 000000000..01ddc6458 Binary files /dev/null and b/f3discovery/assets/gdb-layout-split-4.png differ diff --git a/f3discovery/assets/gdb-layout-src.png b/f3discovery/assets/gdb-layout-src.png new file mode 100644 index 000000000..1cf5e3a86 Binary files /dev/null and b/f3discovery/assets/gdb-layout-src.png differ diff --git a/f3discovery/assets/integer32.svg b/f3discovery/assets/integer32.svg new file mode 100644 index 000000000..2647667e9 --- /dev/null +++ b/f3discovery/assets/integer32.svg @@ -0,0 +1,2 @@ + +image/svg+xml diff --git a/f3discovery/assets/jumper-wires.jpg b/f3discovery/assets/jumper-wires.jpg new file mode 100644 index 000000000..2d37ce6a3 Binary files /dev/null and b/f3discovery/assets/jumper-wires.jpg differ diff --git a/f3discovery/assets/minicom.png b/f3discovery/assets/minicom.png new file mode 100644 index 000000000..598305b7a Binary files /dev/null and b/f3discovery/assets/minicom.png differ diff --git a/f3discovery/assets/putty-console.png b/f3discovery/assets/putty-console.png new file mode 100644 index 000000000..9e5fa74fd Binary files /dev/null and b/f3discovery/assets/putty-console.png differ diff --git a/f3discovery/assets/putty-session-choose-serial.png b/f3discovery/assets/putty-session-choose-serial.png new file mode 100644 index 000000000..3f5680d4f Binary files /dev/null and b/f3discovery/assets/putty-session-choose-serial.png differ diff --git a/f3discovery/assets/putty-settings.png b/f3discovery/assets/putty-settings.png new file mode 100644 index 000000000..7b9e0ff06 Binary files /dev/null and b/f3discovery/assets/putty-settings.png differ diff --git a/f3discovery/assets/quadrant-i.png b/f3discovery/assets/quadrant-i.png new file mode 100644 index 000000000..b8b827aa0 Binary files /dev/null and b/f3discovery/assets/quadrant-i.png differ diff --git a/f3discovery/assets/quadrants.png b/f3discovery/assets/quadrants.png new file mode 100644 index 000000000..4d9feab3d Binary files /dev/null and b/f3discovery/assets/quadrants.png differ diff --git a/f3discovery/assets/serial-loopback.png b/f3discovery/assets/serial-loopback.png new file mode 100644 index 000000000..f491ff0a7 Binary files /dev/null and b/f3discovery/assets/serial-loopback.png differ diff --git a/f3discovery/assets/serial.jpg b/f3discovery/assets/serial.jpg new file mode 100644 index 000000000..226a5000d Binary files /dev/null and b/f3discovery/assets/serial.jpg differ diff --git a/f3discovery/assets/setup-windows.png b/f3discovery/assets/setup-windows.png new file mode 100644 index 000000000..3568caccb Binary files /dev/null and b/f3discovery/assets/setup-windows.png differ diff --git a/f3discovery/assets/st-link.png b/f3discovery/assets/st-link.png new file mode 100644 index 000000000..479f5fbd2 Binary files /dev/null and b/f3discovery/assets/st-link.png differ diff --git a/f3discovery/assets/timing-diagram.png b/f3discovery/assets/timing-diagram.png new file mode 100644 index 000000000..4aa1b6248 Binary files /dev/null and b/f3discovery/assets/timing-diagram.png differ diff --git a/f3discovery/assets/usb-cable.jpg b/f3discovery/assets/usb-cable.jpg new file mode 100644 index 000000000..cad50342d Binary files /dev/null and b/f3discovery/assets/usb-cable.jpg differ diff --git a/f3discovery/ayu-highlight.css b/f3discovery/ayu-highlight.css new file mode 100644 index 000000000..32c943222 --- /dev/null +++ b/f3discovery/ayu-highlight.css @@ -0,0 +1,78 @@ +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/f3discovery/book.js b/f3discovery/book.js new file mode 100644 index 000000000..aa12e7ecc --- /dev/null +++ b/f3discovery/book.js @@ -0,0 +1,697 @@ +"use strict"; + +// Fix back button cache problem +window.onunload = function () { }; + +// Global variable, shared between modules +function playground_text(playground, hidden = true) { + let code_block = playground.querySelector("code"); + + if (window.ace && code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + return editor.getValue(); + } else if (hidden) { + return code_block.textContent; + } else { + return code_block.innerText; + } +} + +(function codeSnippets() { + function fetch_with_timeout(url, options, timeout = 6000) { + return Promise.race([ + fetch(url, options), + new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)) + ]); + } + + var playgrounds = Array.from(document.querySelectorAll(".playground")); + if (playgrounds.length > 0) { + fetch_with_timeout("https://play.rust-lang.org/meta/crates", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + }) + .then(response => response.json()) + .then(response => { + // get list of crates available in the rust playground + let playground_crates = response.crates.map(item => item["id"]); + playgrounds.forEach(block => handle_crate_list_update(block, playground_crates)); + }); + } + + function handle_crate_list_update(playground_block, playground_crates) { + // update the play buttons after receiving the response + update_play_button(playground_block, playground_crates); + + // and install on change listener to dynamically update ACE editors + if (window.ace) { + let code_block = playground_block.querySelector("code"); + if (code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + editor.addEventListener("change", function (e) { + update_play_button(playground_block, playground_crates); + }); + // add Ctrl-Enter command to execute rust code + editor.commands.addCommand({ + name: "run", + bindKey: { + win: "Ctrl-Enter", + mac: "Ctrl-Enter" + }, + exec: _editor => run_rust_code(playground_block) + }); + } + } + } + + // updates the visibility of play button based on `no_run` class and + // used crates vs ones available on https://play.rust-lang.org + function update_play_button(pre_block, playground_crates) { + var play_button = pre_block.querySelector(".play-button"); + + // skip if code is `no_run` + if (pre_block.querySelector('code').classList.contains("no_run")) { + play_button.classList.add("hidden"); + return; + } + + // get list of `extern crate`'s from snippet + var txt = playground_text(pre_block); + var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g; + var snippet_crates = []; + var item; + while (item = re.exec(txt)) { + snippet_crates.push(item[1]); + } + + // check if all used crates are available on play.rust-lang.org + var all_available = snippet_crates.every(function (elem) { + return playground_crates.indexOf(elem) > -1; + }); + + if (all_available) { + play_button.classList.remove("hidden"); + } else { + play_button.classList.add("hidden"); + } + } + + function run_rust_code(code_block) { + var result_block = code_block.querySelector(".result"); + if (!result_block) { + result_block = document.createElement('code'); + result_block.className = 'result hljs language-bash'; + + code_block.append(result_block); + } + + let text = playground_text(code_block); + let classes = code_block.querySelector('code').classList; + let edition = "2015"; + if(classes.contains("edition2018")) { + edition = "2018"; + } else if(classes.contains("edition2021")) { + edition = "2021"; + } + var params = { + version: "stable", + optimize: "0", + code: text, + edition: edition + }; + + if (text.indexOf("#![feature") !== -1) { + params.version = "nightly"; + } + + result_block.innerText = "Running..."; + + fetch_with_timeout("https://play.rust-lang.org/evaluate.json", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + body: JSON.stringify(params) + }) + .then(response => response.json()) + .then(response => { + if (response.result.trim() === '') { + result_block.innerText = "No output"; + result_block.classList.add("result-no-output"); + } else { + result_block.innerText = response.result; + result_block.classList.remove("result-no-output"); + } + }) + .catch(error => result_block.innerText = "Playground Communication: " + error.message); + } + + // Syntax highlighting Configuration + hljs.configure({ + tabReplace: ' ', // 4 spaces + languages: [], // Languages used for auto-detection + }); + + let code_nodes = Array + .from(document.querySelectorAll('code')) + // Don't highlight `inline code` blocks in headers. + .filter(function (node) {return !node.parentElement.classList.contains("header"); }); + + if (window.ace) { + // language-rust class needs to be removed for editable + // blocks or highlightjs will capture events + code_nodes + .filter(function (node) {return node.classList.contains("editable"); }) + .forEach(function (block) { block.classList.remove('language-rust'); }); + + code_nodes + .filter(function (node) {return !node.classList.contains("editable"); }) + .forEach(function (block) { hljs.highlightBlock(block); }); + } else { + code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); + } + + // Adding the hljs class gives code blocks the color css + // even if highlighting doesn't apply + code_nodes.forEach(function (block) { block.classList.add('hljs'); }); + + Array.from(document.querySelectorAll("code.hljs")).forEach(function (block) { + + var lines = Array.from(block.querySelectorAll('.boring')); + // If no lines were hidden, return + if (!lines.length) { return; } + block.classList.add("hide-boring"); + + var buttons = document.createElement('div'); + buttons.className = 'buttons'; + buttons.innerHTML = ""; + + // add expand button + var pre_block = block.parentNode; + pre_block.insertBefore(buttons, pre_block.firstChild); + + pre_block.querySelector('.buttons').addEventListener('click', function (e) { + if (e.target.classList.contains('fa-eye')) { + e.target.classList.remove('fa-eye'); + e.target.classList.add('fa-eye-slash'); + e.target.title = 'Hide lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.remove('hide-boring'); + } else if (e.target.classList.contains('fa-eye-slash')) { + e.target.classList.remove('fa-eye-slash'); + e.target.classList.add('fa-eye'); + e.target.title = 'Show hidden lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.add('hide-boring'); + } + }); + }); + + if (window.playground_copyable) { + Array.from(document.querySelectorAll('pre code')).forEach(function (block) { + var pre_block = block.parentNode; + if (!pre_block.classList.contains('playground')) { + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var clipButton = document.createElement('button'); + clipButton.className = 'fa fa-copy clip-button'; + clipButton.title = 'Copy to clipboard'; + clipButton.setAttribute('aria-label', clipButton.title); + clipButton.innerHTML = ''; + + buttons.insertBefore(clipButton, buttons.firstChild); + } + }); + } + + // Process playground code blocks + Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) { + // Add play button + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var runCodeButton = document.createElement('button'); + runCodeButton.className = 'fa fa-play play-button'; + runCodeButton.hidden = true; + runCodeButton.title = 'Run this code'; + runCodeButton.setAttribute('aria-label', runCodeButton.title); + + buttons.insertBefore(runCodeButton, buttons.firstChild); + runCodeButton.addEventListener('click', function (e) { + run_rust_code(pre_block); + }); + + if (window.playground_copyable) { + var copyCodeClipboardButton = document.createElement('button'); + copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.innerHTML = ''; + copyCodeClipboardButton.title = 'Copy to clipboard'; + copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); + + buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); + } + + let code_block = pre_block.querySelector("code"); + if (window.ace && code_block.classList.contains("editable")) { + var undoChangesButton = document.createElement('button'); + undoChangesButton.className = 'fa fa-history reset-button'; + undoChangesButton.title = 'Undo changes'; + undoChangesButton.setAttribute('aria-label', undoChangesButton.title); + + buttons.insertBefore(undoChangesButton, buttons.firstChild); + + undoChangesButton.addEventListener('click', function () { + let editor = window.ace.edit(code_block); + editor.setValue(editor.originalCode); + editor.clearSelection(); + }); + } + }); +})(); + +(function themes() { + var html = document.querySelector('html'); + var themeToggleButton = document.getElementById('theme-toggle'); + var themePopup = document.getElementById('theme-list'); + var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var stylesheets = { + ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), + tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), + highlight: document.querySelector("[href$='highlight.css']"), + }; + + function showThemes() { + themePopup.style.display = 'block'; + themeToggleButton.setAttribute('aria-expanded', true); + themePopup.querySelector("button#" + get_theme()).focus(); + } + + function updateThemeSelected() { + themePopup.querySelectorAll('.theme-selected').forEach(function (el) { + el.classList.remove('theme-selected'); + }); + themePopup.querySelector("button#" + get_theme()).classList.add('theme-selected'); + } + + function hideThemes() { + themePopup.style.display = 'none'; + themeToggleButton.setAttribute('aria-expanded', false); + themeToggleButton.focus(); + } + + function get_theme() { + var theme; + try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { } + if (theme === null || theme === undefined) { + return default_theme; + } else { + return theme; + } + } + + function set_theme(theme, store = true) { + let ace_theme; + + if (theme == 'coal' || theme == 'navy') { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = false; + stylesheets.highlight.disabled = true; + + ace_theme = "ace/theme/tomorrow_night"; + } else if (theme == 'ayu') { + stylesheets.ayuHighlight.disabled = false; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = true; + ace_theme = "ace/theme/tomorrow_night"; + } else { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = false; + ace_theme = "ace/theme/dawn"; + } + + setTimeout(function () { + themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor; + }, 1); + + if (window.ace && window.editors) { + window.editors.forEach(function (editor) { + editor.setTheme(ace_theme); + }); + } + + var previousTheme = get_theme(); + + if (store) { + try { localStorage.setItem('mdbook-theme', theme); } catch (e) { } + } + + html.classList.remove(previousTheme); + html.classList.add(theme); + updateThemeSelected(); + } + + // Set theme + var theme = get_theme(); + + set_theme(theme, false); + + themeToggleButton.addEventListener('click', function () { + if (themePopup.style.display === 'block') { + hideThemes(); + } else { + showThemes(); + } + }); + + themePopup.addEventListener('click', function (e) { + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else if (e.target.parentElement.className === "theme") { + theme = e.target.parentElement.id; + } else { + return; + } + set_theme(theme); + }); + + themePopup.addEventListener('focusout', function(e) { + // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) + if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { + hideThemes(); + } + }); + + // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628 + document.addEventListener('click', function(e) { + if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { + hideThemes(); + } + }); + + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (!themePopup.contains(e.target)) { return; } + + switch (e.key) { + case 'Escape': + e.preventDefault(); + hideThemes(); + break; + case 'ArrowUp': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.previousElementSibling) { + li.previousElementSibling.querySelector('button').focus(); + } + break; + case 'ArrowDown': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.nextElementSibling) { + li.nextElementSibling.querySelector('button').focus(); + } + break; + case 'Home': + e.preventDefault(); + themePopup.querySelector('li:first-child button').focus(); + break; + case 'End': + e.preventDefault(); + themePopup.querySelector('li:last-child button').focus(); + break; + } + }); +})(); + +(function sidebar() { + var body = document.querySelector("body"); + var sidebar = document.getElementById("sidebar"); + var sidebarLinks = document.querySelectorAll('#sidebar a'); + var sidebarToggleButton = document.getElementById("sidebar-toggle"); + var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); + var firstContact = null; + + function showSidebar() { + body.classList.remove('sidebar-hidden') + body.classList.add('sidebar-visible'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', 0); + }); + sidebarToggleButton.setAttribute('aria-expanded', true); + sidebar.setAttribute('aria-hidden', false); + try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { } + } + + + var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); + + function toggleSection(ev) { + ev.currentTarget.parentElement.classList.toggle('expanded'); + } + + Array.from(sidebarAnchorToggles).forEach(function (el) { + el.addEventListener('click', toggleSection); + }); + + function hideSidebar() { + body.classList.remove('sidebar-visible') + body.classList.add('sidebar-hidden'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', -1); + }); + sidebarToggleButton.setAttribute('aria-expanded', false); + sidebar.setAttribute('aria-hidden', true); + try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { } + } + + // Toggle sidebar + sidebarToggleButton.addEventListener('click', function sidebarToggle() { + if (body.classList.contains("sidebar-hidden")) { + var current_width = parseInt( + document.documentElement.style.getPropertyValue('--sidebar-width'), 10); + if (current_width < 150) { + document.documentElement.style.setProperty('--sidebar-width', '150px'); + } + showSidebar(); + } else if (body.classList.contains("sidebar-visible")) { + hideSidebar(); + } else { + if (getComputedStyle(sidebar)['transform'] === 'none') { + hideSidebar(); + } else { + showSidebar(); + } + } + }); + + sidebarResizeHandle.addEventListener('mousedown', initResize, false); + + function initResize(e) { + window.addEventListener('mousemove', resize, false); + window.addEventListener('mouseup', stopResize, false); + body.classList.add('sidebar-resizing'); + } + function resize(e) { + var pos = (e.clientX - sidebar.offsetLeft); + if (pos < 20) { + hideSidebar(); + } else { + if (body.classList.contains("sidebar-hidden")) { + showSidebar(); + } + pos = Math.min(pos, window.innerWidth - 100); + document.documentElement.style.setProperty('--sidebar-width', pos + 'px'); + } + } + //on mouseup remove windows functions mousemove & mouseup + function stopResize(e) { + body.classList.remove('sidebar-resizing'); + window.removeEventListener('mousemove', resize, false); + window.removeEventListener('mouseup', stopResize, false); + } + + document.addEventListener('touchstart', function (e) { + firstContact = { + x: e.touches[0].clientX, + time: Date.now() + }; + }, { passive: true }); + + document.addEventListener('touchmove', function (e) { + if (!firstContact) + return; + + var curX = e.touches[0].clientX; + var xDiff = curX - firstContact.x, + tDiff = Date.now() - firstContact.time; + + if (tDiff < 250 && Math.abs(xDiff) >= 150) { + if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) + showSidebar(); + else if (xDiff < 0 && curX < 300) + hideSidebar(); + + firstContact = null; + } + }, { passive: true }); +})(); + +(function chapterNavigation() { + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (window.search && window.search.hasFocus()) { return; } + var html = document.querySelector('html'); + + function next() { + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + } + function prev() { + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + } + switch (e.key) { + case 'ArrowRight': + e.preventDefault(); + if (html.dir == 'rtl') { + prev(); + } else { + next(); + } + break; + case 'ArrowLeft': + e.preventDefault(); + if (html.dir == 'rtl') { + next(); + } else { + prev(); + } + break; + } + }); +})(); + +(function clipboard() { + var clipButtons = document.querySelectorAll('.clip-button'); + + function hideTooltip(elem) { + elem.firstChild.innerText = ""; + elem.className = 'fa fa-copy clip-button'; + } + + function showTooltip(elem, msg) { + elem.firstChild.innerText = msg; + elem.className = 'fa fa-copy tooltipped'; + } + + var clipboardSnippets = new ClipboardJS('.clip-button', { + text: function (trigger) { + hideTooltip(trigger); + let playground = trigger.closest("pre"); + return playground_text(playground, false); + } + }); + + Array.from(clipButtons).forEach(function (clipButton) { + clipButton.addEventListener('mouseout', function (e) { + hideTooltip(e.currentTarget); + }); + }); + + clipboardSnippets.on('success', function (e) { + e.clearSelection(); + showTooltip(e.trigger, "Copied!"); + }); + + clipboardSnippets.on('error', function (e) { + showTooltip(e.trigger, "Clipboard error!"); + }); +})(); + +(function scrollToTop () { + var menuTitle = document.querySelector('.menu-title'); + + menuTitle.addEventListener('click', function () { + document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); + }); +})(); + +(function controllMenu() { + var menu = document.getElementById('menu-bar'); + + (function controllPosition() { + var scrollTop = document.scrollingElement.scrollTop; + var prevScrollTop = scrollTop; + var minMenuY = -menu.clientHeight - 50; + // When the script loads, the page can be at any scroll (e.g. if you reforesh it). + menu.style.top = scrollTop + 'px'; + // Same as parseInt(menu.style.top.slice(0, -2), but faster + var topCache = menu.style.top.slice(0, -2); + menu.classList.remove('sticky'); + var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster + document.addEventListener('scroll', function () { + scrollTop = Math.max(document.scrollingElement.scrollTop, 0); + // `null` means that it doesn't need to be updated + var nextSticky = null; + var nextTop = null; + var scrollDown = scrollTop > prevScrollTop; + var menuPosAbsoluteY = topCache - scrollTop; + if (scrollDown) { + nextSticky = false; + if (menuPosAbsoluteY > 0) { + nextTop = prevScrollTop; + } + } else { + if (menuPosAbsoluteY > 0) { + nextSticky = true; + } else if (menuPosAbsoluteY < minMenuY) { + nextTop = prevScrollTop + minMenuY; + } + } + if (nextSticky === true && stickyCache === false) { + menu.classList.add('sticky'); + stickyCache = true; + } else if (nextSticky === false && stickyCache === true) { + menu.classList.remove('sticky'); + stickyCache = false; + } + if (nextTop !== null) { + menu.style.top = nextTop + 'px'; + topCache = nextTop; + } + prevScrollTop = scrollTop; + }, { passive: true }); + })(); + (function controllBorder() { + function updateBorder() { + if (menu.offsetTop === 0) { + menu.classList.remove('bordered'); + } else { + menu.classList.add('bordered'); + } + } + updateBorder(); + document.addEventListener('scroll', updateBorder, { passive: true }); + })(); +})(); diff --git a/f3discovery/clipboard.min.js b/f3discovery/clipboard.min.js new file mode 100644 index 000000000..02c549e35 --- /dev/null +++ b/f3discovery/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n .hljs { + color: var(--links); +} + +/* + body-container is necessary because mobile browsers don't seem to like + overflow-x on the body tag when there is a tag. +*/ +#body-container { + /* + This is used when the sidebar pushes the body content off the side of + the screen on small screens. Without it, dragging on mobile Safari + will want to reposition the viewport in a weird way. + */ + overflow-x: clip; +} + +/* Menu Bar */ + +#menu-bar, +#menu-bar-hover-placeholder { + z-index: 101; + margin: auto calc(0px - var(--page-padding)); +} +#menu-bar { + position: relative; + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-block-end-color: var(--bg); + border-block-end-width: 1px; + border-block-end-style: solid; +} +#menu-bar.sticky, +.js #menu-bar-hover-placeholder:hover + #menu-bar, +.js #menu-bar:hover, +.js.sidebar-visible #menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0 !important; +} +#menu-bar-hover-placeholder { + position: sticky; + position: -webkit-sticky; + top: 0; + height: var(--menu-bar-height); +} +#menu-bar.bordered { + border-block-end-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + padding: 0 8px; + z-index: 10; + line-height: var(--menu-bar-height); + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: 420px) { + #menu-bar i, #menu-bar .icon-button { + padding: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +.right-buttons { + margin: 0 15px; +} +.right-buttons a { + text-decoration: none; +} + +.left-buttons { + display: flex; + margin: 0 5px; +} +.no-js .left-buttons button { + display: none; +} + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 2.4rem; + line-height: var(--menu-bar-height); + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 0; + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s, background-color 0.5s; +} + +.nav-chapters:hover { + text-decoration: none; + background-color: var(--theme-hover); + transition: background-color 0.15s, color 0.15s; +} + +.nav-wrapper { + margin-block-start: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +/* Only Firefox supports flow-relative values */ +.previous { float: left; } +[dir=rtl] .previous { float: right; } + +/* Only Firefox supports flow-relative values */ +.next { + float: right; + right: var(--page-padding); +} +[dir=rtl] .next { + float: left; + right: unset; + left: var(--page-padding); +} + +/* Use the correct buttons for RTL layouts*/ +[dir=rtl] .previous i.fa-angle-left:before {content:"\f105";} +[dir=rtl] .next i.fa-angle-right:before { content:"\f104"; } + +@media only screen and (max-width: 1080px) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +/* sidebar-visible */ +@media only screen and (max-width: 1380px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; } + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline; + padding: 0.1em 0.3em; + border-radius: 3px; +} + +:not(pre):not(a) > .hljs { + color: var(--inline-code-color); + overflow-x: initial; +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + right: 0px; + top: 2px; + margin: 0px; + padding: 2px 0px; + + color: var(--sidebar-fg); + cursor: pointer; + visibility: hidden; + opacity: 0; + transition: visibility 0.1s linear, opacity 0.1s linear; +} +pre:hover > .buttons { + visibility: visible; + opacity: 1 +} +pre > .buttons :hover { + color: var(--sidebar-active); + border-color: var(--icons-hover); + background-color: var(--theme-hover); +} +pre > .buttons i { + margin-inline-start: 8px; +} +pre > .buttons button { + cursor: inherit; + margin: 0px 5px; + padding: 3px 5px; + font-size: 14px; + + border-style: solid; + border-width: 1px; + border-radius: 4px; + border-color: var(--icons); + background-color: var(--theme-popup-bg); + transition: 100ms; + transition-property: color,border-color,background-color; + color: var(--icons); +} +@media (pointer: coarse) { + pre > .buttons button { + /* On mobile, make it easier to tap buttons. */ + padding: 0.3rem 1rem; + } + + .sidebar-resize-indicator { + /* Hide resize indicator on devices with limited accuracy */ + display: none; + } +} +pre > code { + display: block; + padding: 1rem; +} + +/* FIXME: ACE editors overlap their buttons because ACE does absolute + positioning within the code block which breaks padding. The only solution I + can think of is to move the padding to the outer pre tag (or insert a div + wrapper), but that would require fixing a whole bunch of CSS rules. +*/ +.hljs.ace_editor { + padding: 0rem 0rem; +} + +pre > .result { + margin-block-start: 10px; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding-block-start: 0; + padding-block-end: 1px; + padding-inline-start: 3px; + padding-inline-end: 3px; + margin-block-start: 0; + margin-block-end: -1px; + margin-inline-start: -3px; + margin-inline-end: -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: auto; + margin-inline-end: auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding-block-start: 18px; + padding-block-end: 0; + padding-inline-start: 5px; + padding-inline-end: 0; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); + border-block-end: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-inline-start: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: 20px; + margin-inline-end: 0; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +[dir=rtl] .sidebar { left: unset; right: 0; } +.sidebar-resizing { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.no-js .sidebar, +.js:not(.sidebar-resizing) .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar .sidebar-scrollbox { + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 10px 10px; +} +.sidebar .sidebar-resize-handle { + position: absolute; + cursor: col-resize; + width: 0; + right: calc(var(--sidebar-resize-indicator-width) * -1); + top: 0; + bottom: 0; + display: flex; + align-items: center; +} + +.sidebar-resize-handle .sidebar-resize-indicator { + width: 100%; + height: 12px; + background-color: var(--icons); + margin-inline-start: var(--sidebar-resize-indicator-space); +} + +[dir=rtl] .sidebar .sidebar-resize-handle { + left: calc(var(--sidebar-resize-indicator-width) * -1); + right: unset; +} +.js .sidebar .sidebar-resize-handle { + cursor: col-resize; + width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)); +} +/* sidebar-hidden */ +#sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); + z-index: -1; +} +[dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +/* sidebar-visible */ +#sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); +} +@media only screen and (min-width: 620px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)); + } + [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + } +} + +.chapter { + list-style: none outside none; + padding-inline-start: 0; + line-height: 2.2em; +} + +.chapter ol { + width: 100%; +} + +.chapter li { + display: flex; + color: var(--sidebar-non-existant); +} +.chapter li a { + display: block; + padding: 0; + text-decoration: none; + color: var(--sidebar-fg); +} + +.chapter li a:hover { + color: var(--sidebar-active); +} + +.chapter li a.active { + color: var(--sidebar-active); +} + +.chapter li > a.toggle { + cursor: pointer; + display: block; + margin-inline-start: auto; + padding: 0 10px; + user-select: none; + opacity: 0.68; +} + +.chapter li > a.toggle div { + transition: transform 0.5s; +} + +/* collapse the section */ +.chapter li:not(.expanded) + li > ol { + display: none; +} + +.chapter li.chapter-item { + line-height: 1.5em; + margin-block-start: 0.6em; +} + +.chapter li.expanded > a.toggle div { + transform: rotate(90deg); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-inline-start: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + top: var(--menu-bar-height); + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; + /* Don't let the children's background extend past the rounded corners. */ + overflow: hidden; +} +[dir=rtl] .theme-popup { left: unset; right: 10px; } +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + width: 100%; + border: 0; + margin: 0; + padding: 2px 20px; + line-height: 25px; + white-space: nowrap; + text-align: start; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} + +.theme-selected::before { + display: inline-block; + content: "✓"; + margin-inline-start: -14px; + width: 14px; +} diff --git a/f3discovery/css/general.css b/f3discovery/css/general.css new file mode 100644 index 000000000..7670b087d --- /dev/null +++ b/f3discovery/css/general.css @@ -0,0 +1,232 @@ +/* Base styles and content styles */ + +:root { + /* Browser default font-size is 16px, this way 1 rem = 10px */ + font-size: 62.5%; + color-scheme: var(--color-scheme); +} + +html { + font-family: "Open Sans", sans-serif; + color: var(--fg); + background-color: var(--bg); + text-size-adjust: none; + -webkit-text-size-adjust: none; +} + +body { + margin: 0; + font-size: 1.6rem; + overflow-x: hidden; +} + +code { + font-family: var(--mono-font) !important; + font-size: var(--code-font-size); + direction: ltr !important; +} + +/* make long words/inline code not x overflow */ +main { + overflow-wrap: break-word; +} + +/* make wide tables scroll if they overflow */ +.table-wrapper { + overflow-x: auto; +} + +/* Don't change font size in headers. */ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: unset; +} + +.left { float: left; } +.right { float: right; } +.boring { opacity: 0.6; } +.hide-boring .boring { display: none; } +.hidden { display: none !important; } + +h2, h3 { margin-block-start: 2.5em; } +h4, h5 { margin-block-start: 2em; } + +.header + .header h3, +.header + .header h4, +.header + .header h5 { + margin-block-start: 1em; +} + +h1:target::before, +h2:target::before, +h3:target::before, +h4:target::before, +h5:target::before, +h6:target::before { + display: inline-block; + content: "»"; + margin-inline-start: -30px; + width: 30px; +} + +/* This is broken on Safari as of version 14, but is fixed + in Safari Technology Preview 117 which I think will be Safari 14.2. + https://bugs.webkit.org/show_bug.cgi?id=218076 +*/ +:target { + /* Safari does not support logical properties */ + scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); +} + +.page { + outline: 0; + padding: 0 var(--page-padding); + margin-block-start: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ +} +.page-wrapper { + box-sizing: border-box; + background-color: var(--bg); +} +.no-js .page-wrapper, +.js:not(.sidebar-resizing) .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} +[dir=rtl] .js:not(.sidebar-resizing) .page-wrapper { + transition: margin-right 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 5px 50px 5px; +} +.content main { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} +.content p { line-height: 1.45em; } +.content ol { line-height: 1.45em; } +.content ul { line-height: 1.45em; } +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img, .content video { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} +table td { + padding: 3px 20px; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); +} +table thead td { + font-weight: 700; + border: none; +} +table thead th { + padding: 3px 20px; +} +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + padding: 0 20px; + color: var(--fg); + background-color: var(--quote-bg); + border-block-start: .1em solid var(--quote-border); + border-block-end: .1em solid var(--quote-border); +} + +.warning { + margin: 20px; + padding: 0 20px; + border-inline-start: 2px solid var(--warning-border); +} + +.warning:before { + position: absolute; + width: 3rem; + height: 3rem; + margin-inline-start: calc(-1.5rem - 21px); + content: "ⓘ"; + text-align: center; + background-color: var(--bg); + color: var(--warning-border); + font-weight: bold; + font-size: 2rem; +} + +blockquote .warning:before { + background-color: var(--quote-bg); +} + +kbd { + background-color: var(--table-border-color); + border-radius: 4px; + border: solid 1px var(--theme-popup-border); + box-shadow: inset 0 -1px 0 var(--theme-hover); + display: inline-block; + font-size: var(--code-font-size); + font-family: var(--mono-font); + line-height: 10px; + padding: 4px 5px; + vertical-align: middle; +} + +:not(.footnote-definition) + .footnote-definition, +.footnote-definition + :not(.footnote-definition) { + margin-block-start: 2em; +} +.footnote-definition { + font-size: 0.9em; + margin: 0.5em 0; +} +.footnote-definition p { + display: inline; +} + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + +.chapter li.part-title { + color: var(--sidebar-fg); + margin: 5px 0px; + font-weight: bold; +} + +.result-no-output { + font-style: italic; +} diff --git a/f3discovery/css/print.css b/f3discovery/css/print.css new file mode 100644 index 000000000..80ec3a544 --- /dev/null +++ b/f3discovery/css/print.css @@ -0,0 +1,50 @@ + +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none !important; + margin-inline-start: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + direction: ltr !important; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; +} diff --git a/f3discovery/css/variables.css b/f3discovery/css/variables.css new file mode 100644 index 000000000..0da55e8c9 --- /dev/null +++ b/f3discovery/css/variables.css @@ -0,0 +1,279 @@ + +/* Globals */ + +:root { + --sidebar-width: 300px; + --sidebar-resize-indicator-width: 8px; + --sidebar-resize-indicator-space: 2px; + --page-padding: 15px; + --content-max-width: 750px; + --menu-bar-height: 50px; + --mono-font: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; + --code-font-size: 0.875em /* please adjust the ace font size accordingly in editor.js */ +} + +/* Themes */ + +.ayu { + --bg: hsl(210, 25%, 8%); + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; + + --color-scheme: dark; +} + +.coal { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + + --color-scheme: dark; +} + +.light { + --bg: hsl(0, 0%, 100%); + --fg: hsl(0, 0%, 0%); + + --sidebar-bg: #fafafa; + --sidebar-fg: hsl(0, 0%, 0%); + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #1f1fff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #8F8F8F; + + --icons: #747474; + --icons-hover: #000000; + + --links: #20609f; + + --inline-code-color: #301900; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: hsl(197, 37%, 96%); + --quote-border: hsl(197, 37%, 91%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(0, 0%, 95%); + --table-header-bg: hsl(0, 0%, 80%); + --table-alternate-bg: hsl(0, 0%, 97%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; + + --color-scheme: light; +} + +.navy { + --bg: hsl(226, 23%, 11%); + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(226, 23%, 16%); + --table-header-bg: hsl(226, 23%, 31%); + --table-alternate-bg: hsl(226, 23%, 14%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; + + --color-scheme: dark; +} + +.rust { + --bg: hsl(60, 9%, 87%); + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: hsl(60, 5%, 75%); + --quote-border: hsl(60, 5%, 70%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(60, 9%, 82%); + --table-header-bg: #b3a497; + --table-alternate-bg: hsl(60, 9%, 84%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; + + --color-scheme: light; +} + +@media (prefers-color-scheme: dark) { + .light.no-js { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + } +} diff --git a/f3discovery/custom.css b/f3discovery/custom.css new file mode 100644 index 000000000..179afa563 --- /dev/null +++ b/f3discovery/custom.css @@ -0,0 +1,6 @@ +/* Add this style to the image if it's unreadable +when the dark theme is applied */ +img.white_bg { + background-color: white; + padding: 1em; +} diff --git a/f3discovery/elasticlunr.min.js b/f3discovery/elasticlunr.min.js new file mode 100644 index 000000000..94b20dd2e --- /dev/null +++ b/f3discovery/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o + + + + + What's left for you to explore - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

What's left for you to explore

+

We have barely scratched the surface! There's lots of stuff left for you to +explore.

+
+

NOTE: If you're reading this, and you'd like to help add examples or +exercises to the Discovery book for any of the items below, or any other +relevant embedded topics, we'd love to have your help!

+

Please open an issue if you would like to help, but need assistance or +mentoring for how to contribute this to the book, or open a Pull Request +adding the information!

+
+

Topics about embedded software

+

These topics discuss strategies for writing embedded software. Although many +problems can be solved in different ways, these sections talk about some +strategies, and when they make sense (or don't make sense) to use.

+

Multitasking

+

All our programs executed a single task. How could we achieve multitasking in a +system with no OS, and thus no threads. There are two main approaches to +multitasking: preemptive multitasking and cooperative multitasking.

+

In preemptive multitasking a task that's currently being executed can, at any point in time, be +preempted (interrupted) by another task. On preemption, the first task will be suspended and the +processor will instead execute the second task. At some point the first task will be resumed. +Microcontrollers provide hardware support for preemption in the form of interrupts.

+

In cooperative multitasking a task that's being executed will run until it reaches a suspension +point. When the processor reaches that suspension point it will stop executing the current task and +instead go and execute a different task. At some point the first task will be resumed. The main +difference between these two approaches to multitasking is that in cooperative multitasking yields +execution control at known suspension points instead of being forcefully preempted at any point of +its execution.

+

Sleeping

+

All our programs have been continuously polling peripherals to see if there's +anything that needs to be done. However, some times there's nothing to be done! +At those times, the microcontroller should "sleep".

+

When the processor sleeps, it stops executing instructions and this saves power. +It's almost always a good idea to save power so your microcontroller should be +sleeping as much as possible. But, how does it know when it has to wake up to +perform some action? "Interrupts" are one of the events that wake up the +microcontroller but there are others and the wfi and wfe are the +instructions that make the processor "sleep".

+ +

Microcontrollers (like our STM32F3) have many different capabilities. However, many share similar +capabilities that can be used to solve all sorts of different problems.

+

These topics discuss some of those capabilities, and how they can be used effectively +in embedded development.

+

Direct Memory Access (DMA).

+

This peripheral is a kind of asynchronous memcpy. So far our programs have +been pumping data, byte by byte, into peripherals like UART and I2C. This DMA +peripheral can be used to perform bulk transfers of data. Either from RAM to +RAM, from a peripheral, like a UART, to RAM or from RAM to a peripheral. You can +schedule a DMA transfer, like read 256 bytes from USART1 into this buffer, leave +it running in the background and then poll some register to see if it has +completed so you can do other stuff while the transfer is ongoing.

+

Interrupts

+

In order to interact with the real world, it is often necessary for the +microcontroller to respond immediately when some kind of event occurs.

+

Microcontrollers have the ability to be interrupted, meaning when a certain event +occurs, it will stop whatever it is doing at the moment, to instead respond to that +event. This can be very useful when we want to stop a motor when a button is pressed, +or measure a sensor when a timer finishes counting down.

+

Although these interrupts can be very useful, they can also be a bit difficult +to work with properly. We want to make sure that we respond to events quickly, +but also allow other work to continue as well.

+

In Rust, we model interrupts similar to the concept of threading on desktop Rust +programs. This means we also must think about the Rust concepts of Send and Sync +when sharing data between our main application, and code that executes as part of +handling an interrupt event.

+

Pulse Width Modulation (PWM)

+

In a nutshell, PWM is turning on something and then turning it off periodically +while keeping some proportion ("duty cycle") between the "on time" and the "off +time". When used on a LED with a sufficiently high frequency, this can be used +to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make +the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, +will make the LED much brighter (almost as if it were fully powered).

+

In general, PWM can be used to control how much power is given to some +electric device. With proper (power) electronics between a microcontroller and +an electrical motor, PWM can be used to control how much power is given to the +motor thus it can be used to control its torque and speed. Then you can add an +angular position sensor and you got yourself a closed loop controller that can +control the position of the motor at different loads.

+

Digital inputs

+

We have used the microcontroller pins as digital outputs, to drive LEDs. But +these pins can also be configured as digital inputs. As digital inputs, these +pins can read the binary state of switches (on/off) or buttons (pressed/not +pressed).

+

(spoilers reading the binary state of switches / buttons is not as +straightforward as it sounds ;-)

+

Analog-to-Digital Converters (ADC)

+

There are a lots of digital sensors out there. You can use a protocol like I2C +and SPI to read them. But analog sensors also exist! These sensors just output a +voltage level that's proportional to the magnitude they are sensing.

+

The ADC peripheral can be use to convert that "analog" voltage level, say 1.25 +Volts,into a "digital" number, say in the [0, 65535] range, that the processor +can use in its calculations.

+

Digital-to-Analog Converters (DAC)

+

As you might expect a DAC is exactly the opposite of ADC. You can write some +digital value into a register to produce a voltage in the [0, 3.3V] range +(assuming a 3.3V power supply) on some "analog" pin. When this analog pin is +connected to some appropriate electronics and the register is written to at some +constant, fast rate (frequency) with the right values you can produce sounds or +even music!

+

Real Time Clock (RTC)

+

This peripheral can be used to track time in "human format". Seconds, minutes, +hours, days, months and years. This peripheral handles the translation from +"ticks" to these human friendly units of time. It even handles leap years and +Daylight Save Time for you!

+

Other communication protocols

+

SPI, I2S, SMBUS, CAN, IrDA, Ethernet, USB, Bluetooth, etc.

+

Different applications use different communication protocols. User facing +applications usually have an USB connector because USB is an ubiquitous +protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN +"buses". Some digital sensors use SPI, others use I2C and others, SMBUS.

+

General Embedded-Relevant Topics

+

These topics cover items that are not specific to our device, or the hardware on +it. Instead, they discuss useful techniques that could be used on embedded +systems.

+

Gyroscopes

+

As part of our Punch-o-meter exercise, we used the Accelerometer to measure +changes in acceleration in three dimensions. Our board also features a sensor +called a Gyroscope, which allows us to measure changes in "spin" in three +dimensions.

+

This can be very useful when trying to build certain systems, such as a robot +that wants to avoid tipping over. Additionally, the data from a sensor like a +gyroscope can also be combined with data from accelerometer using a technique +called Sensor Fusion (see below for more information).

+

Servo and Stepper Motors

+

While some motors are used primarily just to spin in one direction or the other, +for example driving a remote control car forwards or backwards, it is sometimes +useful to measure more precisely how a motor rotates.

+

Our microcontroller can be used to drive Servo or Stepper motors, which allow +for more precise control of how many turns are being made by the motor, or +can even position the motor in one specific place, for example if we wanted to +move the arms of a clock to a particular direction.

+

Sensor fusion

+

The STM32F3DISCOVERY contains three motion sensors: an accelerometer, a +gyroscope and a magnetometer. On their own these measure: (proper) acceleration, +angular speed and (the Earth's) magnetic field. But these magnitudes can be +"fused" into something more useful: a "robust" measurement of the orientation of +the board. Where robust means with less measurement error than a single sensor +would be capable of.

+

This idea of deriving more reliable data from different sources is known as +sensor fusion.

+
+

So where to next? There are several options:

+
    +
  • You could check out the examples in the f3 board support crate. All those examples work for +the STM32F3DISCOVERY board you have.
  • +
+ +
    +
  • You could check out Real Time for The Masses. A very efficient preemptive multitasking framework +that supports task prioritization and dead lock free execution.
  • +
+
    +
  • You could try running Rust on a different development board. The easiest way to get started is to +use the cortex-m-quickstart Cargo project template.
  • +
+
    +
  • You could check out this blog post which describes how Rust type system can +prevent bugs in I/O configuration.
  • +
+
    +
  • You could check out my blog for miscellaneous topics about embedded development with Rust.
  • +
+
    +
  • You could check out the embedded-hal project which aims to build abstractions (traits) for all +the embedded I/O functionality commonly found on microcontrollers.
  • +
+
    +
  • You could join the Weekly driver initiative and help us write generic drivers on top of the +embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, +etc.)
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/favicon.png b/f3discovery/favicon.png new file mode 100644 index 000000000..a5b1aa16c Binary files /dev/null and b/f3discovery/favicon.png differ diff --git a/f3discovery/favicon.svg b/f3discovery/favicon.svg new file mode 100644 index 000000000..90e0ea58b --- /dev/null +++ b/f3discovery/favicon.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/f3discovery/fonts/OPEN-SANS-LICENSE.txt b/f3discovery/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/f3discovery/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/f3discovery/fonts/SOURCE-CODE-PRO-LICENSE.txt b/f3discovery/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 000000000..366206f54 --- /dev/null +++ b/f3discovery/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/f3discovery/fonts/fonts.css b/f3discovery/fonts/fonts.css new file mode 100644 index 000000000..858efa598 --- /dev/null +++ b/f3discovery/fonts/fonts.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('open-sans-v17-all-charsets-300.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('open-sans-v17-all-charsets-300italic.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('open-sans-v17-all-charsets-regular.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v17-all-charsets-italic.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('open-sans-v17-all-charsets-600.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('open-sans-v17-all-charsets-600italic.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v17-all-charsets-700.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v17-all-charsets-700italic.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('open-sans-v17-all-charsets-800.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('open-sans-v17-all-charsets-800italic.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2'); +} diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-300.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-300.woff2 new file mode 100644 index 000000000..9f51be370 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-300.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-300italic.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-300italic.woff2 new file mode 100644 index 000000000..2f5454484 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-300italic.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-600.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-600.woff2 new file mode 100644 index 000000000..f503d558d Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-600.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-600italic.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-600italic.woff2 new file mode 100644 index 000000000..c99aabe80 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-600italic.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-700.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-700.woff2 new file mode 100644 index 000000000..421a1ab25 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-700.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-700italic.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-700italic.woff2 new file mode 100644 index 000000000..12ce3d20d Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-700italic.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-800.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-800.woff2 new file mode 100644 index 000000000..c94a223b0 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-800.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-800italic.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-800italic.woff2 new file mode 100644 index 000000000..eed7d3c63 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-800italic.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-italic.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-italic.woff2 new file mode 100644 index 000000000..398b68a08 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-italic.woff2 differ diff --git a/f3discovery/fonts/open-sans-v17-all-charsets-regular.woff2 b/f3discovery/fonts/open-sans-v17-all-charsets-regular.woff2 new file mode 100644 index 000000000..8383e94c6 Binary files /dev/null and b/f3discovery/fonts/open-sans-v17-all-charsets-regular.woff2 differ diff --git a/f3discovery/fonts/source-code-pro-v11-all-charsets-500.woff2 b/f3discovery/fonts/source-code-pro-v11-all-charsets-500.woff2 new file mode 100644 index 000000000..722245682 Binary files /dev/null and b/f3discovery/fonts/source-code-pro-v11-all-charsets-500.woff2 differ diff --git a/f3discovery/highlight.css b/f3discovery/highlight.css new file mode 100644 index 000000000..ba57b82b2 --- /dev/null +++ b/f3discovery/highlight.css @@ -0,0 +1,82 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/f3discovery/highlight.js b/f3discovery/highlight.js new file mode 100644 index 000000000..18d24345b --- /dev/null +++ b/f3discovery/highlight.js @@ -0,0 +1,54 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/f3discovery/index.html b/f3discovery/index.html new file mode 100644 index 000000000..3b628087b --- /dev/null +++ b/f3discovery/index.html @@ -0,0 +1,298 @@ + + + + + + Introduction - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Discovery

+
+

Discover the world of microcontrollers through Rust!

+
+

This book is an introductory course on microcontroller-based embedded systems that uses Rust as the +teaching language rather than the usual C/C++.

+

Scope

+

The following topics will be covered (eventually, I hope):

+
    +
  • +

    How to write, build, flash and debug an "embedded" (Rust) program.

    +
  • +
  • +

    Functionality ("peripherals") commonly found in microcontrollers: Digital input and output, Pulse +Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like +Serial, I2C and SPI, etc.

    +
  • +
  • +

    Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc.

    +
  • +
  • +

    Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, +closed loop control, etc.

    +
  • +
+

Approach

+
    +
  • +

    Beginner friendly. No previous experience with microcontrollers or embedded systems is required.

    +
  • +
  • +

    Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the +work here.

    +
  • +
  • +

    Tool centered. We'll make plenty use of tooling to ease development. "Real" debugging, with GDB, +and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.

    +
  • +
+

Non-goals

+

What's out of scope for this book:

+
    +
  • +

    Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers +and embedded systems.

    +
  • +
  • +

    Being a comprehensive text about electric circuit theory or electronics. We'll just cover the +minimum required to understand how some devices work.

    +
  • +
  • +

    Covering details such as linker scripts and the boot process. For example, we'll use existing tools +to help get your code onto your board, but not go into detail about how those tools work.

    +
  • +
+

Also I don't intend to port this material to other development boards; this book will make exclusive +use of the STM32F3DISCOVERY development board.

+

Reporting problems

+

The source of this book is in this repository. If you encounter any typo or problem with the code +report it on the issue tracker.

+

Other embedded Rust resources

+

This Discovery book is just one of several embedded Rust resources provided by the +Embedded Working Group. The full selection can be found at The Embedded Rust Bookshelf. This +includes the list of Frequently Asked Questions.

+ +

+ + + +

+

Many thanks to integer 32 for sponsoring me to work on this book! Please +give them lots of work (they do Rust consulting!) so they'll have no choice but to hire more +Rustaceans <3.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/mark.min.js b/f3discovery/mark.min.js new file mode 100644 index 000000000..163623188 --- /dev/null +++ b/f3discovery/mark.min.js @@ -0,0 +1,7 @@ +/*!*************************************************** +* mark.js v8.11.1 +* https://markjs.io/ +* Copyright (c) 2014–2018, Julian Kühnel +* Released under the MIT license https://git.io/vwTVl +*****************************************************/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c + + + + + Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Discovery

+
+

Discover the world of microcontrollers through Rust!

+
+

This book is an introductory course on microcontroller-based embedded systems that uses Rust as the +teaching language rather than the usual C/C++.

+

Scope

+

The following topics will be covered (eventually, I hope):

+
    +
  • +

    How to write, build, flash and debug an "embedded" (Rust) program.

    +
  • +
  • +

    Functionality ("peripherals") commonly found in microcontrollers: Digital input and output, Pulse +Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like +Serial, I2C and SPI, etc.

    +
  • +
  • +

    Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc.

    +
  • +
  • +

    Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, +closed loop control, etc.

    +
  • +
+

Approach

+
    +
  • +

    Beginner friendly. No previous experience with microcontrollers or embedded systems is required.

    +
  • +
  • +

    Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the +work here.

    +
  • +
  • +

    Tool centered. We'll make plenty use of tooling to ease development. "Real" debugging, with GDB, +and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.

    +
  • +
+

Non-goals

+

What's out of scope for this book:

+
    +
  • +

    Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers +and embedded systems.

    +
  • +
  • +

    Being a comprehensive text about electric circuit theory or electronics. We'll just cover the +minimum required to understand how some devices work.

    +
  • +
  • +

    Covering details such as linker scripts and the boot process. For example, we'll use existing tools +to help get your code onto your board, but not go into detail about how those tools work.

    +
  • +
+

Also I don't intend to port this material to other development boards; this book will make exclusive +use of the STM32F3DISCOVERY development board.

+

Reporting problems

+

The source of this book is in this repository. If you encounter any typo or problem with the code +report it on the issue tracker.

+

Other embedded Rust resources

+

This Discovery book is just one of several embedded Rust resources provided by the +Embedded Working Group. The full selection can be found at The Embedded Rust Bookshelf. This +includes the list of Frequently Asked Questions.

+ +

+ + + +

+

Many thanks to integer 32 for sponsoring me to work on this book! Please +give them lots of work (they do Rust consulting!) so they'll have no choice but to hire more +Rustaceans <3.

+

Background

+

What's a microcontroller?

+

A microcontroller is a system on a chip. Whereas your computer is made up of several discrete +components: a processor, RAM sticks, a hard drive, an ethernet port, etc.; a microcontroller +has all those components built into a single "chip" or package. This makes it possible to +build systems with a minimal part count.

+

What can you do with a microcontroller?

+

Lots of things! Microcontrollers are the central part of systems known as embedded systems. +These systems are everywhere but you don't usually notice them. These systems control the brakes +of your car, wash your clothes, print your documents, keep you warm, keep you cool, optimize the +fuel consumption of your car, etc.

+

The main trait of these systems is that they operate without user intervention even if they expose a +user interface as a washing machine does; most of their operation is done on their own.

+

The other common trait of these systems is that they control a process. And for that these systems +usually have one or more sensors and one or more actuators. For example, an HVAC system has several +sensors, thermometers, and humidity sensors spread across some areas, and several actuators as well, +heating elements and fans connected to ducts.

+

When should I use a microcontroller?

+

All these applications I've mentioned, you can probably implement with a Raspberry Pi, a computer +that runs Linux. Why should I bother with a microcontroller that operates without an OS? Sounds +like it would be harder to develop a program.

+

The main reason is cost. A microcontroller is much cheaper than a general-purpose computer. Not only +the microcontroller is cheaper; it also requires many fewer external electrical components to operate. +This makes Printed Circuit Boards (PCBs) smaller and cheaper to design and manufacture.

+

The other big reason is power consumption. A microcontroller consumes orders of magnitude less power +than a full-blown processor. If your application will run on batteries that makes a huge difference.

+

And last but not least: (hard) real-time constraints. Some processes require their controllers to +respond to some events within some time interval (e.g. a quadcopter/drone hit by a wind gust). If this +deadline is not met, the process could end in catastrophic failure (e.g. the drone crashes to the +ground). A general-purpose computer running a general-purpose OS has many services running in the +background. This makes it hard to guarantee the execution of a program within tight time constraints.

+

When should I not use a microcontroller?

+

Where heavy computations are involved. To keep their power consumption low, microcontrollers have very +limited computational resources available to them. For example, some microcontrollers don't even have +hardware support for floating-point operations. On those devices, performing a simple addition of +single-precision numbers can take hundreds of CPU cycles.

+

Why use Rust and not C?

+

Hopefully, I don't need to convince you here as you are probably familiar with the language +differences between Rust and C. One point I do want to bring up is package management. C lacks an +official, widely accepted package management solution whereas Rust has Cargo. This makes development +much easier. And, IMO, easy package management encourages code reuse because libraries can be +easily integrated into an application which is also a good thing as libraries get more "battle testing".

+

Why should I not use Rust?

+

Or why should I prefer C over Rust?

+

The C ecosystem is way more mature. Off the shelf solution for several problems already exist. If you +need to control a time-sensitive process, you can grab one of the existing commercial Real-Time Operating +Systems (RTOS) out there and solve your problem. There are no commercial, production-grade RTOSes in Rust +yet so you would have to either create one yourself or try one of the ones that are in development.

+

Hardware/knowledge requirements

+

The primary knowledge requirement to read this book is to know some Rust. It's +hard for me to quantify some but at least I can tell you that you don't need +to fully grok generics but you do need to know how to use closures. You also +need to be familiar with the idioms of the 2018 edition, in particular with +the fact that extern crate is not necessary in the 2018 edition.

+

Due to the nature of embedded programming, it will also be extremely helpful to +understand how binary and hexadecimal representations of values work, as well +as the use of some bitwise operators. For example, it would be useful to +understand how the following program produces its output.

+
fn main() {
+    let a = 0x4000_0000 + 0xa2;
+
+    // Use of the bit shift "<<" operation.
+    let b = 1 << 5;
+
+    // {:X} will format values as hexadecimal
+    println!("{:X}: {:X}", a, b);
+}
+

Also, to follow this material you'll need the following hardware:

+

(Some components are optional but recommended)

+ +

(You can purchase this board from "big" electronics suppliers or from e-commerce +sites)

+

+ +

+
    +
  • OPTIONAL. A 3.3V USB <-> Serial module. To elaborate: if you have one of +the latest revisions of the discovery board (which is usually the case given +the first revision was released years ago) then you do not need this module +because the board includes this functionality on-board. If you have an older +revision of the board then you'll need this module for chapters 10 and 11. For +completeness, we'll include instructions for using a Serial module. The book +will use this particular model but you can use any other model as +long as it operates at 3.3V. The CH340G module, which you can buy +from e-commerce sites works too and it's probably cheaper for you to get.
  • +
+

+ +

+
    +
  • OPTIONAL. A HC-05 Bluetooth module (with headers!). A HC-06 would work too.
  • +
+

(As with other Chinese parts, you pretty much can only find these on e-commerce sites. +(US) Electronics suppliers don't usually stock these for some reason)

+

+ +

+
    +
  • Two mini-B USB cables. One is required to make the STM32F3DISCOVERY board work. The other is only +required if you have the Serial <-> USB module. Make sure that the cables both +support data transfer as some cables only support charging devices.
  • +
+

+ +

+
+

NOTE These are not the USB cables that ship with pretty much every Android phone; those +are micro USB cables. Make sure you have the right thing!

+
+
    +
  • MOSTLY OPTIONAL. 5 female to female, 4 male to female and 1 Male to Male jumper (AKA Dupont) +wires. You'll very likely need one female to female to get ITM working. The other wires are only +needed if you'll be using the USB <-> Serial and Bluetooth modules.
  • +
+

(You can get these from electronics suppliers or from e-commerce sites)

+

+ +

+
+

FAQ: Wait, why do I need this specific hardware?

+
+

It makes my life and yours much easier.

+

The material is much, much more approachable if we don't have to worry about hardware differences. +Trust me on this one.

+
+

FAQ: Can I follow this material with a different development board?

+
+

Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or +whether there already exists a high level crate, like the f3, for your development board +somewhere.

+

With a different development board, this text would lose most if not all its beginner friendliness +and "easy to follow"-ness, IMO.

+

If you have a different development board and you don't consider yourself a total beginner, you are +better off starting with the quickstart project template.

+

Setting up a development environment

+

Dealing with microcontrollers involves several tools as we'll be dealing with an architecture +different than your computer's and we'll have to run and debug programs on a "remote" device.

+

Documentation

+

Tooling is not everything though. Without documentation it is pretty much impossible to work with +microcontrollers.

+

We'll be referring to all these documents throughout this book:

+

HEADS UP All these links point to PDF files and some of them are hundreds of pages long and +several MBs in size.

+ +

* NOTE: Newer (from around 2020/09) Discovery boards may have a different e-compass and gyroscope (see the user manual). +As such, much in chapters 14-16 will not work as is. +Checkout the github issues like this.

+

Tools

+

We'll use all the tools listed below. Where a minimum version is not specified, any recent version +should work but we have listed the version we have tested.

+
    +
  • +

    Rust 1.31 or a newer toolchain. Chapter USART +requires 1.51 or newer.

    +
  • +
  • +

    itmdump >=0.3.1 (cargo install itm). Tested versions: 0.3.1.

    +
  • +
  • +

    OpenOCD >=0.8. Tested versions: v0.9.0 and v0.10.0

    +
  • +
  • +

    arm-none-eabi-gdb. Version 7.12 or newer highly recommended. Tested versions: 7.10, 7.11, +7.12 and 8.1

    +
  • +
  • +

    cargo-binutils. Version 0.1.4 or newer.

    +
  • +
+
    +
  • +

    minicom on Linux and macOS. Tested version: 2.7. Readers report that picocom also works but +we'll use minicom in this text.

    +
  • +
  • +

    PuTTY on Windows.

    +
  • +
+

If your computer has Bluetooth functionality and you have the Bluetooth module, you can additionally +install these tools to play with the Bluetooth module. All these are optional:

+
    +
  • Linux, only if you don't have a Bluetooth manager application like Blueman. +
      +
    • bluez
    • +
    • hcitool
    • +
    • rfcomm
    • +
    • rfkill
    • +
    +
  • +
+

macOS / OSX / Windows users only need the default bluetooth manager that ships with their OS.

+

Next, follow OS-agnostic installation instructions for a few of the tools:

+

rustc & Cargo

+

Install rustup by following the instructions at https://rustup.rs.

+

If you already have rustup installed double check that you are on the stable +channel and your stable toolchain is up to date. rustc -V should return a date +newer than the one shown below:

+
$ rustc -V
+rustc 1.31.0 (abe02cefd 2018-12-04)
+
+

itmdump

+
cargo install itm
+
+

Verify the version is >=0.3.1

+
$ itmdump -V
+itmdump 0.3.1
+
+

cargo-binutils

+

Install llvm-tools

+
rustup component add llvm-tools
+
+

Install cargo-binutils

+
cargo install cargo-binutils
+
+

Verify tools are installed

+

Run the following commands at your terminal

+
cargo new test-size
+
+
cd test-size
+
+
cargo run
+
+
cargo size -- --version
+
+

The results should be something like:

+
~
+$ cargo new test-size
+     Created binary (application) `test-size` package
+
+~
+$ cd test-size
+
+~/test-size (main)
+$ cargo run
+   Compiling test-size v0.1.0 (~/test-size)
+    Finished dev [unoptimized + debuginfo] target(s) in 0.26s
+     Running `target/debug/test-size`
+Hello, world!
+
+~/test-size (main)
+$ cargo size -- --version
+    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
+LLVM (http://llvm.org/):
+  LLVM version 11.0.0-rust-1.50.0-stable
+  Optimized build.
+  Default target: x86_64-unknown-linux-gnu
+  Host CPU: znver2
+
+

OS specific instructions

+

Now follow the instructions specific to the OS you are using:

+ +

Linux

+

Here are the installation commands for a few Linux distributions.

+

REQUIRED packages

+

Ubuntu 18.04 or newer / Debian stretch or newer

+
+

NOTE gdb-multiarch is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+ + + + + + +
sudo apt-get install \
+  gdb-multiarch \
+  minicom \
+  openocd
+
+

Ubuntu 14.04 and 16.04

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+ + + +
sudo apt-get install \
+  gdb-arm-none-eabi \
+  minicom \
+  openocd
+
+

Fedora 23 or newer

+
sudo dnf install \
+  minicom \
+  openocd \
+  gdb
+
+

Arch Linux

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
sudo pacman -S \
+  arm-none-eabi-gdb \
+  minicom \
+  openocd
+
+

Other distros

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+

For distros that don't have packages for ARM's pre-built +toolchain, +download the "Linux 64-bit" file and put its bin directory on your path. +Here's one way to do it:

+
mkdir -p ~/local && cd ~/local
+
+
tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
+
+

Then, use your editor of choice to append to your PATH in the appropriate +shell init file (e.g. ~/.zshrc or ~/.bashrc):

+
PATH=$PATH:$HOME/local/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux/bin
+
+

Optional packages

+

Ubuntu / Debian

+
sudo apt-get install \
+  bluez \
+  rfkill
+
+

Fedora

+
sudo dnf install \
+  bluez \
+  rfkill
+
+

Arch Linux

+
sudo pacman -S \
+  bluez \
+  bluez-utils \
+  rfkill
+
+

udev rules

+

These rules let you use USB devices like the F3 and the Serial module without root privilege, i.e. +sudo.

+

Create 99-openocd.rules in /etc/udev/rules.d using the idVendor and idProduct +from the lsusb output.

+

For example, connect the STM32F3DISCOVERY to your computer using a USB cable. +Be sure to connect the cable to the "USB ST-LINK" port, the USB port in the +center of the edge of the board.

+

Execute lsusb:

+
lsusb | grep ST-LINK
+
+

It should result in something like:

+
$ lsusb | grep ST-LINK
+Bus 003 Device 003: ID 0483:374b STMicroelectronics ST-LINK/V2.1
+
+

So the idVendor is 0483 and idProduct is 374b.

+

Create /etc/udev/rules.d/99-openocd.rules:

+
sudo vi /etc/udev/rules.d/99-openocd.rules
+
+

With the contents:

+
# STM32F3DISCOVERY - ST-LINK/V2.1
+ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE:="0666"
+
+

For older devices with OPTIONAL USB <-> FT232 based Serial Module

+

Create /etc/udev/rules.d/99-ftdi.rules:

+
sudo vi /etc/udev/rules.d/99-openocd.rules
+
+

With the contents:

+
# FT232 - USB <-> Serial Converter
+ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
+
+

Reload the udev rules with:

+
sudo udevadm control --reload-rules
+
+

If you had any board plugged to your computer, unplug them and then plug them in again.

+

Now, go to the next section.

+

Windows

+

arm-none-eabi-gdb

+

ARM provides .exe installers for Windows. Grab one from here, and follow the instructions. +Just before the installation process finishes tick/select the "Add path to environment variable" +option. Then verify that the tools are in your %PATH%:

+

Verify gcc is installed:

+
arm-none-eabi-gcc -v
+
+

The results should be something like:

+
(..)
+$ arm-none-eabi-gcc -v
+gcc version 5.4.1 20160919 (release) (..)
+
+

OpenOCD

+

There's no official binary release of OpenOCD for Windows but there are unofficial releases +available here. Grab the 0.10.x zipfile and extract it somewhere in your drive (I +recommend C:\OpenOCD but with the drive letter that makes sense to you) then update your %PATH% +environment variable to include the following path: C:\OpenOCD\bin (or the path that you used +before).

+

Verify OpenOCD is installed and in your %PATH% with:

+
openocd -v
+
+

The results should be something like:

+
$ openocd -v
+Open On-Chip Debugger 0.10.0
+(..)
+
+

PuTTY

+

Download the latest putty.exe from this site and place it somewhere in your %PATH%.

+ +

You'll also need to install this USB driver or OpenOCD won't work. Follow the installer +instructions and make sure you install the right (32-bit or 64-bit) version of the driver.

+

That's all! Go to the next section.

+

macOS

+

All the tools can be installed using Homebrew:

+
$ # ARM GCC debugger
+$ brew install arm-none-eabi-gdb
+
+$ # Minicom and OpenOCD
+$ brew install minicom openocd
+
+

That's all! Go to the next section.

+

Verify the installation

+

Let's verify that all the tools were installed correctly.

+

Linux only

+

Verify permissions

+

Connect the STM32F3DISCOVERY to your computer using an USB cable. Be sure to connect the cable to the "USB ST-LINK" +port, the USB port in the center of the edge of the board.

+

The STM32F3DISCOVERY should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got +enumerated:

+
lsusb | grep -i stm
+
+

This should result in:

+
$ lsusb | grep -i stm
+Bus 003 Device 004: ID 0483:374b STMicroelectronics ST-LINK/V2.1
+$ # ^^^        ^^^
+
+

In my case, the STM32F3DISCOVERY got connected to the bus #3 and got enumerated as the device #4. This means the +file /dev/bus/usb/003/004 is the STM32F3DISCOVERY. Let's check its permissions:

+
$ ls -la /dev/bus/usb/003/004
+crw-rw-rw-+ 1 root root 189, 259 Feb 28 13:32 /dev/bus/usb/003/00
+
+

The permissions should be crw-rw-rw-. If it's not ... then check your udev +rules and try re-loading them with:

+
sudo udevadm control --reload-rules
+
+

For older devices with OPTIONAL USB <-> FT232 based Serial Module

+

Unplug the STM32F3DISCOVERY and plug the Serial module. Now, figure out what's its associated file:

+
$ lsusb | grep -i ft232
+Bus 003 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
+
+

In my case, it's the /dev/bus/usb/003/005. Now, check its permissions:

+
$ ls -l /dev/bus/usb/003/005
+crw-rw-rw- 1 root root 189, 21 Sep 13 00:00 /dev/bus/usb/003/005
+
+

As before, the permissions should be crw-rw-rw-.

+

Verify OpenOCD connection

+

Connect the STM32F3DISCOVERY using the USB cable to the USB port in the +center of edge of the board, the one that's labeled "USB ST-LINK".

+

Two red LEDs should turn on right after connecting the USB cable to the board.

+
+

IMPORTANT There is more than one hardware revision of the STM32F3DISCOVERY board. For older +revisions, you'll need to change the "interface" argument to -f interface/stlink-v2.cfg (note: +no -1 at the end). Alternatively, older revisions can use -f board/stm32f3discovery.cfg +instead of -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg.

+
+
+

NOTE OpenOCD v0.11.0 has deprecated interface/stlink-v2.cfg in favor of +interface/stlink.cfg which supports ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, and +ST-LINK/V3.

+
+

*Nix

+
+

FYI: The interface directory is typically located in /usr/share/openocd/scripts/, +which is the default location OpenOCD expects these files. If you've installed them +somewhere else use the -s /path/to/scripts/ option to specify your install directory.

+
+
openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+

or

+
openocd -f interface/stlink.cfg -f target/stm32f3x.cfg
+
+

Windows

+

Below the references to C:\OpenOCD is the directory where OpenOCD is installed.

+
openocd -s C:\OpenOCD\share\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+
+

NOTE cygwin users have reported problems with the -s flag. If you run into +that problem you can add C:\OpenOCD\share\scripts\ directory to the parameters.

+
+

cygwin users:

+
openocd -f C:\OpenOCD\share\scripts\interface\stlink-v2-1.cfg -f C:\OpenOCD\share\scripts\target\stm32f3x.cfg
+
+

All

+

OpenOCD is a service which forwards debug information from the ITM channel +to a file, itm.txt, as such it runs forever and does not return to the +terminal prompt.

+

The initial output of OpenOCD is something like:

+
Open On-Chip Debugger 0.10.0
+Licensed under GNU GPL v2
+For bug reports, read
+        http://openocd.org/doc/doxygen/bugs.html
+Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
+adapter speed: 1000 kHz
+adapter_nsrst_delay: 100
+Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
+none separate
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : clock speed 950 kHz
+Info : STLINK v2 JTAG v27 API v2 SWIM v15 VID 0x0483 PID 0x374B
+Info : using stlink api v2
+Info : Target voltage: 2.915608
+Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
+
+

(If you don't ... then check the general troubleshooting instructions.)

+

Also, one of the red LEDs, the one closest to the USB port, should start oscillating between red +light and green light.

+

That's it! It works. You can now use Ctrl-c to stop OpenOCD or close/kill the terminal.

+

Meet your hardware

+

Let's get familiar with the hardware we'll be working with.

+

STM32F3DISCOVERY (the "F3")

+

+ +

+

We'll refer to this board as "F3" throughout this book. Here are some of the +many components on the board:

+ +

Of these components, the most important is the microcontroller (sometimes +shortened to "MCU" for "microcontroller unit"), which is the large black square +sitting in the center of your board. The MCU is what runs your code. You might +sometimes read about "programming a board", when in reality what we are doing +is programming the MCU that is installed on the board.

+

STM32F303VCT6 (the "STM32F3")

+

Since the MCU is so important, let's take a closer look at the one sitting on our board.

+

Our MCU is surrounded by 100 tiny metal pins. These pins are connected to +traces, the little "roads" that act as the wires connecting components +together on the board. The MCU can dynamically alter the electrical properties +of the pins. This works similar to a light switch altering how electrical +current flows through a circuit. By enabling or disabling electrical current to +flow through a specific pin, an LED attached to that pin (via the traces) can +be turned on and off.

+

Each manufacturer uses a different part numbering scheme, but many will allow +you to determine information about a component simply by looking at the part +number. Looking at our MCU's part number (STM32F303VCT6), the ST at the +front hints to us that this is a part manufactured by ST Microelectronics. +Searching through ST's marketing materials we can also learn the following:

+
    +
  • The M32 represents that this is an Arm®-based 32-bit microcontroller.
  • +
  • The F3 represents that the MCU is from ST's "STM32F3" series. This is a +series of MCUs based on the Cortex®-M4 processor design.
  • +
  • The remainder of the part number goes into more details about things like +extra features and RAM size, which at this point we're less concerned about.
  • +
+
+

Arm? Cortex-M4?

+

If our chip is manufactured by ST, then who is Arm? And if our chip is the +STM32F3, what is the Cortex-M4?

+

You might be surprised to hear that while "Arm-based" chips are quite +popular, the company behind the "Arm" trademark (Arm Holdings) doesn't +actually manufacture chips for purchase. Instead, their primary business +model is to just design parts of chips. They will then license those designs to +manufacturers, who will in turn implement the designs (perhaps with some of +their own tweaks) in the form of physical hardware that can then be sold. +Arm's strategy here is different from companies like Intel, which both +designs and manufactures their chips.

+

Arm licenses a bunch of different designs. Their "Cortex-M" family of designs +are mainly used as the core in microcontrollers. For example, the Cortex-M0 +is designed for low cost and low power usage. The Cortex-M7 is higher cost, +but with more features and performance. The core of our STM32F3 is based on +the Cortex-M4, which is in the middle: more features and performance than the +Cortex-M0, but less expensive than the Cortex-M7.

+

Luckily, you don't need to know too much about different types of processors +or Cortex designs for the sake of this book. However, you are hopefully now a +bit more knowledgeable about the terminology of your device. While you are +working specifically with an STM32F3, you might find yourself reading +documentation and using tools for Cortex-M-based chips, as the STM32F3 is +based on a Cortex-M design.

+
+

The Serial module

+

+ +

+

If you have an older revision of the discovery board, you can use this module to +exchange data between the microcontroller in the F3 and your computer. This module +will be connected to your computer using an USB cable. I won't say more at this +point.

+

If you have a newer release of the board then you don't need this module. The +ST-LINK will double as a USB<->serial converter connected to the microcontroller USART1 at pins PC4 and PC5.

+

The Bluetooth module

+

+ +

+

This module has the exact same purpose as the serial module but it sends the data over Bluetooth +instead of over USB.

+

LED roulette

+

Alright, let's start by building the following application:

+

+ +

+

I'm going to give you a high level API to implement this app but don't worry we'll do low level +stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging +process.

+

Throughout this text we'll be using the starter code that's in the discovery repository. Make sure +you always have the latest version of the master branch because this website tracks that branch.

+

The starter code is in the src directory of that repository. Inside that directory there are more +directories named after each chapter of this book. Most of those directories are starter Cargo +projects.

+

Now, jump into the src/05-led-roulette directory. Check the src/main.rs file:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux5::entry;
+
+#[entry]
+fn main() -> ! {
+    let _y;
+    let x = 42;
+    _y = x;
+
+    // infinite loop; just so we don't leave this stack frame
+    loop {}
+}
+

Microcontroller programs are different from standard programs in two aspects: #![no_std] and +#![no_main].

+

The no_std attribute says that this program won't use the std crate, which assumes an underlying +OS; the program will instead use the core crate, a subset of std that can run on bare metal +systems (i.e., systems without OS abstractions like files and sockets).

+

The no_main attribute says that this program won't use the standard main interface, which is +tailored for command line applications that receive arguments. Instead of the standard main we'll +use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this +program we have named the entry point "main", but any other name could have been used. The entry +point function must have the signature fn() -> !; this type indicates that the function can't +return – this means that the program never terminates.

+

If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project +as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the +linking process to tailor the memory layout of the program to the requirements of the target device. +This modified linking process is a requirement of the cortex-m-rt crate. You'll also be making +further tweaks to .cargo/config in future sections to make building and debugging easier.

+

Alright, let's start by building this program.

+

Build it

+

The first step is to build our "binary" crate. Because the microcontroller has a different +architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple +as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the +argument of that flag: the name of the target.

+

The microcontroller in the F3 has a Cortex-M4F processor in it. rustc knows how to cross compile +to the Cortex-M architecture and provides 4 different targets that cover the different processor +families within that architecture:

+
    +
  • thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors
  • +
  • thumbv7m-none-eabi, for the Cortex-M3 processor
  • +
  • thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors
  • +
  • thumbv7em-none-eabihf, for the Cortex-M4F and Cortex-M7F processors
  • +
+

For the F3, we'll use the thumbv7em-none-eabihf target. Before cross compiling you have to +download a pre-compiled version of the standard library (a reduced version of it actually) for your +target. That's done using rustup:

+
rustup target add thumbv7em-none-eabihf
+
+

You only need to do the above step once; rustup will re-install a new standard library +(rust-std component) whenever you update your toolchain.

+

With the rust-std component in place you can now cross compile the program using Cargo.

+
+

NOTE Make sure you are in the src/05-led-roulette directory +and run cargo build command below to create the executable:

+
+
cargo build --target thumbv7em-none-eabihf
+
+

On your console you should see something like:

+
$ cargo build --target thumbv7em-none-eabihf
+   Compiling typenum v1.12.0
+   Compiling semver-parser v0.7.0
+   Compiling version_check v0.9.2
+   Compiling nb v1.0.0
+   Compiling void v1.0.2
+   Compiling autocfg v1.0.1
+   Compiling cortex-m v0.7.1
+   Compiling proc-macro2 v1.0.24
+   Compiling vcell v0.1.3
+   Compiling unicode-xid v0.2.1
+   Compiling stable_deref_trait v1.2.0
+   Compiling syn v1.0.60
+   Compiling bitfield v0.13.2
+   Compiling cortex-m v0.6.7
+   Compiling cortex-m-rt v0.6.13
+   Compiling r0 v0.2.2
+   Compiling stm32-usbd v0.5.1
+   Compiling stm32f3 v0.12.1
+   Compiling usb-device v0.2.7
+   Compiling cfg-if v1.0.0
+   Compiling paste v1.0.4
+   Compiling stm32f3-discovery v0.6.0
+   Compiling embedded-dma v0.1.2
+   Compiling volatile-register v0.2.0
+   Compiling nb v0.1.3
+   Compiling embedded-hal v0.2.4
+   Compiling semver v0.9.0
+   Compiling generic-array v0.14.4
+   Compiling switch-hal v0.3.2
+   Compiling num-traits v0.2.14
+   Compiling num-integer v0.1.44
+   Compiling rustc_version v0.2.3
+   Compiling bare-metal v0.2.5
+   Compiling cast v0.2.3
+   Compiling quote v1.0.9
+   Compiling generic-array v0.13.2
+   Compiling generic-array v0.12.3
+   Compiling generic-array v0.11.1
+   Compiling panic-itm v0.4.2
+   Compiling lsm303dlhc v0.2.0
+   Compiling as-slice v0.1.4
+   Compiling micromath v1.1.0
+   Compiling accelerometer v0.12.0
+   Compiling chrono v0.4.19
+   Compiling aligned v0.3.4
+   Compiling rtcc v0.2.0
+   Compiling cortex-m-rt-macros v0.1.8
+   Compiling stm32f3xx-hal v0.6.1
+   Compiling aux5 v0.2.0 (~/embedded-discovery/src/05-led-roulette/auxiliary)
+   Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette)
+    Finished dev [unoptimized + debuginfo] target(s) in 17.91s
+
+
+

NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml file and build command above will ensure optimizations are off.

+
+

OK, now we have produced an executable. This executable won't blink any LEDs, it's just a simplified version that we will build upon later in the chapter. As a sanity check, let's verify that the produced executable is actually an ARM binary:

+
cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header
+
+

The cargo readobj .. above is equivalent to +readelf -h target/thumbv7em-none-eabihf/debug/led-roulette +and should produce something similar to:

+
$ cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+ELF Header:
+  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
+  Class:                             ELF32
+  Data:                              2's complement, little endian
+  Version:                           1 (current)
+  OS/ABI:                            UNIX - System V
+  ABI Version:                       0
+  Type:                              EXEC (Executable file)
+  Machine:                           ARM
+  Version:                           0x1
+  Entry point address:               0x8000195
+  Start of program headers:          52 (bytes into file)
+  Start of section headers:          818328 (bytes into file)
+  Flags:                             0x5000400
+  Size of this header:               52 (bytes)
+  Size of program headers:           32 (bytes)
+  Number of program headers:         4
+  Size of section headers:           40 (bytes)
+  Number of section headers:         22
+  Section header string table index: 20
+
+

Next, we'll flash the program into our microcontroller.

+

Flash it

+

Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once +flashed, the microcontroller will execute the flashed program every time it is powered on.

+

In this case, our led-roulette program will be the only program in the microcontroller memory. +By this I mean that there's nothing else running on the microcontroller: no OS, no "daemon", +nothing. led-roulette has full control over the device.

+

Onto the actual flashing. First thing we need to do is launch OpenOCD. We did that in the +previous section but this time we'll run the command inside a temporary directory (/tmp on *nix; +%TEMP% on Windows).

+

Make sure the F3 is connected to your computer and run the following commands in a new terminal.

+

For *nix & MacOS:

+
cd /tmp
+openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+

For Windows Note: substitute C: for the actual OpenOCD path:

+
cd %TEMP%
+openocd -s C:\share\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+
+
+

NOTE Older revisions of the board need to pass slightly different arguments to +openocd. Review this section for the details.

+
+

The program will block; leave that terminal open.

+

Now it's a good time to explain what the openocd command is actually doing.

+

I mentioned that the STM32F3DISCOVERY (aka F3) actually has two microcontrollers. One of them is used as a +programmer/debugger. The part of the board that's used as a programmer is called ST-LINK (that's what +STMicroelectronics decided to call it). This ST-LINK is connected to the target microcontroller +using a Serial Wire Debug (SWD) interface (this interface is an ARM standard so you'll run into it +when dealing with other Cortex-M based microcontrollers). This SWD interface can be used to flash +and debug a microcontroller. The ST-LINK is connected to the "USB ST-LINK" port and will appear as +a USB device when you connect the F3 to your computer.

+

+ +

+

As for OpenOCD, it's software that provides some services like a GDB server on top of USB +devices that expose a debugging protocol like SWD or JTAG.

+

Onto the actual command: those .cfg files we are using instruct OpenOCD to look for a ST-LINK USB +device (interface/stlink-v2-1.cfg) and to expect a STM32F3XX microcontroller +(target/stm32f3x.cfg) to be connected to the ST-LINK.

+

The OpenOCD output looks like this:

+
$ openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
+Open On-Chip Debugger 0.10.0
+Licensed under GNU GPL v2
+For bug reports, read
+	http://openocd.org/doc/doxygen/bugs.html
+Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
+adapter speed: 1000 kHz
+adapter_nsrst_delay: 100
+Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
+none separate
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : Unable to match requested speed 1000 kHz, using 950 kHz
+Info : clock speed 950 kHz
+Info : STLINK v2 JTAG v37 API v2 SWIM v26 VID 0x0483 PID 0x374B
+Info : using stlink api v2
+Info : Target voltage: 2.888183
+Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
+
+

The "6 breakpoints, 4 watchpoints" part indicates the debugging features the processor has +available.

+

Leave that openocd process running, and in the previous terminal or a new terminal +make sure that you are inside the project's src/05-led-roulette/ directory.

+

I mentioned that OpenOCD provides a GDB server so let's connect to that right now:

+

Execute GDB

+

First, we need to determine what version of gdb you have that is capable of debugging ARM binaries.

+

This could be any one of the commands below, try each one:

+
arm-none-eabi-gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+
+
gdb-multiarch -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+
+
gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+
+
+

NOTE: If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory +error, try adding ../../ to the file path, for example:

+
$ gdb -q -ex "target remote :3333" ../../target/thumbv7em-none-eabihf/debug/led-roulette
+
+

This is caused by each example project being in a workspace that contains the entire book, and workspaces have +a single target directory. Check out [Workspaces chapter in Rust Book] for more.

+
+

Failing case

+

You can detect a failing case if there is a warning or error after the Remote debugging using :3333 line:

+
$ gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+Reading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...
+Remote debugging using :3333
+warning: Architecture rejected target-supplied description
+Truncated register 16 in remote 'g' packet
+(gdb)
+
+

Successful case

+

Successful case 1:

+
$ arm-none-eabi-gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+Reading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...
+Remote debugging using :3333
+cortex_m_rt::Reset () at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:497
+497     pub unsafe extern "C" fn Reset() -> ! {
+(gdb)
+
+

Successful case 2:

+
~/embedded-discovery/src/05-led-roulette (master)
+$ arm-none-eabi-gdb -q -ex "target remote :3333" target/thumbv7em-none-eabihf/debug/led-roulette
+Reading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...
+Remote debugging using :3333
+0x00000000 in ?? ()
+(gdb)
+
+

In both failing and successful cases you should see new output in the OpenOCD terminal, something like the following:

+
 Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
++Info : accepting 'gdb' connection on tcp/3333
++Info : device id = 0x10036422
++Info : flash size = 256kbytes
+
+
+

NOTE If you are getting an error like undefined debug reason 7 - target needs reset, you can try running monitor reset halt as described here.

+
+

By default OpenOCD's GDB server listens on TCP port 3333 (localhost). This command is connecting to +that port.

+

Update ../.cargo/config.toml

+

Now that you've successfully determined which debugger you need to use +we need to change ../.cargo/config.toml so that the cargo run command will succeed.

+
+

NOTE cargo is the Rust package manager and you can read about it +here.

+
+

Get back to the terminal prompt and look at ../.cargo/config.toml:

+
~/embedded-discovery/src/05-led-roulette
+$ cat ../.cargo/config.toml
+# default runner starts a GDB sesssion, which requires OpenOCD to be
+# running, e.g.,
+## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg
+# depending on your local GDB, pick one of the following
+[target.thumbv7em-none-eabihf]
+runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+# runner = "gdb-multiarch -q -x ../openocd.gdb"
+# runner = "gdb -q -x ../openocd.gdb"
+rustflags = [
+  "-C", "link-arg=-Tlink.x",
+]
+
+[build]
+target = "thumbv7em-none-eabihf"
+
+
+

Use your favorite editor to edit ../.cargo/config.toml so that the +runner line contains the correct name of that debugger:

+
nano ../.cargo/config.toml
+
+

For example, if your debugger was gdb-multiarch then after +editing the git diff should be:

+
$ git diff ../.cargo/config.toml
+diff --git a/f3discovery/src/.cargo/config.toml b/f3discovery/src/.cargo/config.toml
+index 2f38f6b..95860a0 100644
+--- a/f3discovery/src/.cargo/config.toml
++++ b/f3discovery/src/.cargo/config.toml
+@@ -3,8 +3,8 @@
+ ## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg
+ # depending on your local GDB, pick one of the following
+ [target.thumbv7em-none-eabihf]
+-runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+-# runner = "gdb-multiarch -q -x ../openocd.gdb"
++# runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
++runner = "gdb-multiarch -q -x ../openocd.gdb"
+ # runner = "gdb -q -x ../openocd.gdb"
+ rustflags = [
+   "-C", "link-arg=-Tlink.x",
+
+

Now that you have ../.cargo/config.toml setup let's test it using cargo run to +start the debug session.

+
+

NOTE The --target thumbv7em-none-eabihf defines which architecture +to build and run. In our ../.cargo/config.toml file we have +target = "thumbv7em-none-eabihf" so it is actually not necessary +to specify --target we do it here just so you know that parameters on +the command line can be used and they override those in config.toml files.

+
+
cargo run --target thumbv7em-none-eabihf
+
+

Results in:

+
~/embedded-discovery/src/05-led-roulette
+$ cargo run --target thumbv7em-none-eabihf
+    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
+     Running `gdb-multiarch -q -x ../openocd.gdb /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+0x08000230 in core::fmt::Arguments::new_v1 (pieces=..., args=...)
+    at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs:394
+394	/rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs: No such file or directory.
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x1ad8 lma 0x8000194
+Loading section .rodata, size 0x5a4 lma 0x8001c6c
+Start address 0x08000194, load size 8720
+Transfer rate: 12 KB/sec, 2906 bytes/write.
+Breakpoint 1 at 0x80001e8: file src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+Breakpoint 2 at 0x800020a: file src/lib.rs, line 570.
+Breakpoint 3 at 0x8001c5a: file src/lib.rs, line 560.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+7	#[entry]
+halted: PC: 0x080001ee
+led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10
+10	    let x = 42;
+
+

Bravo, we will be modifying ../.cargo/config.toml in future. But, since +this file is shared with all of the chapters those changes should be made with +that in mind. If you want or we need to make changes that only pertain to +a particular chapter then create a .cargo/config.toml local to that chapter +directory.

+

Flash the device

+

Assuming you have GDB running, if not start it as suggested in the previous section.

+
+

NOTE The -x ../openocd.gdb arguments to gdb is already setup +to flash the device, so explicitly flashing the project code to the +device is normally handled with a simple cargo run. We'll cover +the openocd configuration script in the next section.

+
+

Now use the load command in gdb to actually flash the program into the device:

+
(gdb) load
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x20ec lma 0x8000194
+Loading section .rodata, size 0x514 lma 0x8002280
+Start address 0x08000194, load size 10132
+Transfer rate: 17 KB/sec, 3377 bytes/write.
+
+

You'll also see new output in the OpenOCD terminal, something like:

+
 Info : flash size = 256kbytes
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++adapter speed: 950 kHz
++target halted due to debug-request, current mode: Thread
++xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
++Info : Unable to match requested speed 8000 kHz, using 4000 kHz
++Info : Unable to match requested speed 8000 kHz, using 4000 kHz
++adapter speed: 4000 kHz
++target halted due to breakpoint, current mode: Thread
++xPSR: 0x61000000 pc: 0x2000003a msp: 0x2000a000
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++Info : Unable to match requested speed 1000 kHz, using 950 kHz
++adapter speed: 950 kHz
++target halted due to debug-request, current mode: Thread
++xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
+
+

Our program is loaded, let's debug it!

+

Debug it

+

We are already inside a debugging session so let's debug our program.

+

After the load command, our program is stopped at its entry point. This is indicated by the +"Start address 0x8000XXX" part of GDB's output. The entry point is the part of a program that a +processor / CPU will execute first.

+

The starter project I've provided to you has some extra code that runs before the main function. +At this time, we are not interested in that "pre-main" part so let's skip right to the beginning of +the main function. We'll do that using a breakpoint. Issue break main at the (gdb) prompt:

+
+

NOTE For these GDB commands I generally won't provide a copyable code block +as these are short and it's faster just to type them yourself. In addition most +can be shortened. For instance b for break or s for step, see GDB Quick Reference +for more info or use Google to find your others. In addition, you can use tab completion +by typing the first few letters than one tab to complete or two tabs to +see all possible commands.

+
+

Finally, help xxxx where xxxx is the command will provide short names and other info:

+
(gdb) help s
+step, s
+Step program until it reaches a different source line.
+Usage: step [N]
+Argument N means step N times (or till program stops for another reason).
+
+
+
+
(gdb) break main
+Breakpoint 1 at 0x80001f0: file src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+

Next issue a continue command:

+
(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+

Breakpoints can be used to stop the normal flow of a program. The continue command will let the +program run freely until it reaches a breakpoint. In this case, until it reaches #[entry] +which is a trampoline to the main function and where break main sets the breakpoint.

+
+

Note that GDB output says "Breakpoint 1". Remember that our processor can only use six of these +breakpoints so it's a good idea to pay attention to these messages.

+
+

OK. Since we are stopped at #[entry] and using the disassemble /m we see the code +for entry, which is a trampoline to main. That means it sets up the stack and then +invokes a subroutine call to the main function using an ARM branch and link instruction, bl.

+
(gdb) disassemble /m
+Dump of assembler code for function main:
+7       #[entry]
+   0x080001ec <+0>:     push    {r7, lr}
+   0x080001ee <+2>:     mov     r7, sp
+=> 0x080001f0 <+4>:     bl      0x80001f6 <_ZN12led_roulette18__cortex_m_rt_main17he61ef18c060014a5E>
+   0x080001f4 <+8>:     udf     #254    ; 0xfe
+
+End of assembler dump.
+
+

Next we need to issue a step GDB command which will advance the program statement +by statement stepping into functions/procedures. So after this first step command we're +inside main and are positioned at the first executable rust statement, line 10, but it is +not executed:

+
(gdb) step
+led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10
+10          let x = 42;
+
+

Next we'll issue a second step which executes line 10 and stops at +line 11 _y = x;, again line 11 is not executed.

+
+

NOTE We could have pressed enter at the second (gdb) prompt and +it would have reissued the previous statement, step, but for clarity +in this tutorial we'll generally retype the command.

+
+
(gdb) step
+11          _y = x;
+
+

As you can see, in this mode, on each step command GDB will print the current statement along +with its line number. As you'll see later in the TUI mode you'll not see the statement +in the command area.

+

We are now "on" the _y = x statement; that statement hasn't been executed yet. This means that x +is initialized but _y is not. Let's inspect those stack/local variables using the print +command, p for short:

+
(gdb) print x
+$1 = 42
+(gdb) p &x
+$2 = (*mut i32) 0x20009fe0
+(gdb) p _y
+$3 = 536870912
+(gdb) p &_y
+$4 = (*mut i32) 0x20009fe4
+
+

As expected, x contains the value 42. _y, however, contains the value 536870912 (?). This +is because _y has not been initialized yet, it contains some garbage value.

+

The command print &x prints the address of the variable x. The interesting bit here is that GDB +output shows the type of the reference: *mut i32, a mutable pointer to an i32 value. Another +interesting thing is that the addresses of x and _y are very close to each other: their +addresses are just 4 bytes apart.

+

Instead of printing the local variables one by one, you can also use the info locals command:

+
(gdb) info locals
+x = 42
+_y = 536870912
+
+

OK. With another step, we'll be on top of the loop {} statement:

+
(gdb) step
+14          loop {}
+
+

And _y should now be initialized.

+
(gdb) print _y
+$5 = 42
+
+

If we use step again on top of the loop {} statement, we'll get stuck because the program will +never pass that statement.

+
+

NOTE If you used the step or any other command by mistake and GDB gets stuck, you can get +it unstuck by hitting Ctrl+C.

+
+

As introduced above the disassemble /m command can be used to disassemble the program around the +line you are currently at. You might also want to set print asm-demangle on +so the names are demangled, this only needs to be done once a debug session. Later +this and other commands will be placed in an initialization file which will simplify +starting a debug session.

+
(gdb) set print asm-demangle on
+(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:
+8       fn main() -> ! {
+   0x080001f6 <+0>:     sub     sp, #8
+   0x080001f8 <+2>:     movs    r0, #42 ; 0x2a
+
+9           let _y;
+10          let x = 42;
+   0x080001fa <+4>:     str     r0, [sp, #0]
+
+11          _y = x;
+   0x080001fc <+6>:     str     r0, [sp, #4]
+
+12
+13          // infinite loop; just so we don't leave this stack frame
+14          loop {}
+=> 0x080001fe <+8>:     b.n     0x8000200 <led_roulette::__cortex_m_rt_main+10>
+   0x08000200 <+10>:    b.n     0x8000200 <led_roulette::__cortex_m_rt_main+10>
+
+End of assembler dump.
+
+

See the fat arrow => on the left side? It shows the instruction the processor will execute next.

+

Also, as mentioned above if you were to execute the step command GDB gets stuck because it +is executing a branch instruction to itself and never gets past it. So you need to use +Ctrl+C to regain control. An alternative is to use the stepi(si) GDB command, which steps +one asm instruction, and GDB will print the address and line number of the statement +the processor will execute next and it won't get stuck.

+
(gdb) stepi
+0x08000194      14          loop {}
+
+(gdb) si
+0x08000194      14          loop {}
+
+

One last trick before we move to something more interesting. Enter the following commands into GDB:

+
(gdb) monitor reset halt
+Unable to match requested speed 1000 kHz, using 950 kHz
+Unable to match requested speed 1000 kHz, using 950 kHz
+adapter speed: 950 kHz
+target halted due to debug-request, current mode: Thread
+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+(gdb) disassemble /m
+Dump of assembler code for function main:
+7       #[entry]
+   0x080001ec <+0>:     push    {r7, lr}
+   0x080001ee <+2>:     mov     r7, sp
+=> 0x080001f0 <+4>:     bl      0x80001f6 <led_roulette::__cortex_m_rt_main>
+   0x080001f4 <+8>:     udf     #254    ; 0xfe
+
+End of assembler dump.
+
+

We are now back at the beginning of #[entry]!

+

monitor reset halt will reset the microcontroller and stop it right at the beginning of the program. +The continue command will then let the program run freely until it reaches a breakpoint, in +this case it is the breakpoint at #[entry].

+

This combo is handy when you, by mistake, skipped over a part of the program that you were +interested in inspecting. You can easily roll back the state of your program back to its very +beginning.

+
+

The fine print: This reset command doesn't clear or touch RAM. That memory will retain its +values from the previous run. That shouldn't be a problem though, unless your program behavior +depends of the value of uninitialized variables but that's the definition of Undefined Behavior +(UB).

+
+

We are done with this debug session. You can end it with the quit command.

+
(gdb) quit
+A debugging session is active.
+
+        Inferior 1 [Remote target] will be detached.
+
+Quit anyway? (y or n) y
+Detaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target
+Ending remote debugging.
+
+

For a nicer debugging experience, you can use GDB's Text User Interface (TUI). To enter into that +mode enter one of the following commands in the GDB shell:

+
(gdb) layout src
+(gdb) layout asm
+(gdb) layout split
+
+
+

NOTE Apologies to Windows users, the GDB shipped with the GNU ARM Embedded Toolchain +may not support this TUI mode :-(.

+
+

Below is an example of setting up for a layout split by executing the follow commands. +As you can see we've dropped passing the --target parameter:

+
$ cargo run
+(gdb) target remote :3333
+(gdb) load
+(gdb) set print asm-demangle on
+(gdb) set style sources off
+(gdb) break main
+(gdb) continue
+
+

Here is a command line with the above commands as -ex parameters to save you some typing, +shortly we'll be providing an easier way to execute the initial set of commands:

+
cargo run -- -q -ex 'target remote :3333' -ex 'load' -ex 'set print asm-demangle on' -ex 'set style sources off' -ex 'b main' -ex 'c' target/thumbv7em-none-eabihf/debug/led-roulette
+
+

And below is the result:

+

GDB session layout split

+

Now we'll scroll the top source window down so we see the entire file and execute layout split and then step:

+

GDB session layout split

+

Then we'll execute a few info locals and step's:

+
(gdb) info locals
+(gdb) step
+(gdb) info locals
+(gdb) step
+(gdb) info locals
+
+

GDB session layout split

+

At any point you can leave the TUI mode using the following command:

+
(gdb) tui disable
+
+

GDB session layout split

+
+

NOTE If the default GDB CLI is not to your liking check out gdb-dashboard. It uses Python to +turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view +and other things.

+
+

Don't close OpenOCD though! We'll use it again and again later on. It's better +just to leave it running. If you want to learn more about what GDB can do, check out the section How to use GDB.

+

What's next? The high level API I promised.

+

The Led and Delay abstractions

+

Now, I'm going to introduce two high level abstractions that we'll use to implement the LED roulette +application.

+

The auxiliary crate, aux5, exposes an initialization function called init. When called this +function returns two values packed in a tuple: a Delay value and a LedArray value.

+

Delay can be used to block your program for a specified amount of milliseconds.

+

LedArray is an array of eight Leds. Each Led represents one of the LEDs on the F3 board, +and exposes two methods: on and off which can be used to turn the LED on or off, respectively.

+

Let's try out these two abstractions by modifying the starter code to look like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux5::{entry, Delay, DelayMs, LedArray, OutputSwitch};
+
+#[entry]
+fn main() -> ! {
+    let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+    let half_period = 500_u16;
+
+    loop {
+        leds[0].on().ok();
+        delay.delay_ms(half_period);
+
+        leds[0].off().ok();
+        delay.delay_ms(half_period);
+    }
+}
+

Now build it:

+
cargo build
+
+
+

NOTE: It's possible to forget to rebuild the program before starting a GDB session; this +omission can lead to very confusing debug sessions. To avoid this problem you can call just cargo run +instead of cargo build. The cargo run command will build and start a debug +session ensuring you never forget to recompile your program.

+
+

Now we'll run and repeat the flashing procedure as we did in the previous section +but with the new program. I'll let you type in the cargo run, this will get easier shortly. :)

+
+

NOTE: Don't forget to start openocd (debugger) on a separate terminal. +Otherwise target remote :3333 won't work!

+
+
$ cargo run
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+     Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+
+(gdb) target remote :3333
+Remote debugging using :3333
+led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+(gdb) load
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x52c0 lma 0x8000194
+Loading section .rodata, size 0xb50 lma 0x8005454
+Start address 0x08000194, load size 24484
+Transfer rate: 21 KB/sec, 6121 bytes/write.
+
+(gdb) break main
+Breakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline ()
+    at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+
+(gdb) step
+led_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9
+9           let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+(gdb)
+
+

OK. Let's step through the code. This time, we'll use the next command instead of step. The +difference is that the next command will step over function calls instead of going inside them.

+
(gdb) next
+11          let half_period = 500_u16;
+
+(gdb) next
+13          loop {
+
+(gdb) next
+14              leds[0].on().ok();
+
+(gdb) next
+15              delay.delay_ms(half_period);
+
+

After executing the leds[0].on().ok() statement, you should see a red LED, the one pointing North, +turn on.

+

Let's continue stepping over the program:

+
(gdb) next
+17              leds[0].off().ok();
+
+(gdb) next
+18              delay.delay_ms(half_period);
+
+

The delay_ms call will block the program for half a second but you may not notice because the +next command also takes some time to execute. However, after stepping over the leds[0].off() +statement you should see the red LED turn off.

+

You can already guess what this program does. Let it run uninterrupted using the continue command.

+
(gdb) continue
+Continuing.
+
+

Now, let's do something more interesting. We are going to modify the behavior of our program using +GDB.

+

First, let's stop the infinite loop by hitting Ctrl+C. You'll probably end up somewhere inside +Led::on, Led::off or delay_ms:

+
^C
+Program received signal SIGINT, Interrupt.
+0x08003434 in core::ptr::read_volatile<u32> (src=0xe000e010)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053
+
+

In my case, the program stopped its execution inside a read_volatile function. GDB output shows +some interesting information about that: core::ptr::read_volatile (src=0xe000e010). This means +that the function comes from the core crate and that it was called with argument src = 0xe000e010.

+

Just so you know, a more explicit way to show the arguments of a function is to use the info args +command:

+
(gdb) info args
+src = 0xe000e010
+
+

Regardless of where your program may have stopped you can always look at the output of the +backtrace command (bt for short) to learn how it got there:

+
(gdb) backtrace
+#0  0x08003434 in core::ptr::read_volatile<u32> (src=0xe000e010)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053
+#1  0x08002d66 in vcell::VolatileCell<u32>::get<u32> (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/vcell-0.1.3/src/lib.rs:33
+#2  volatile_register::RW<u32>::read<u32> (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/volatile-register-0.2.0/src/lib.rs:75
+#3  cortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136
+#4  0x08003004 in stm32f3xx_hal::delay::{{impl}}::delay_us (self=0x20009fa4, us=500000)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:58
+#5  0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32
+#6  0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38
+#7  0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15
+#8  0x08000206 in led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7
+
+

backtrace will print a trace of function calls from the current function down to main.

+

Back to our topic. To do what we are after, first, we have to return to the main function. We can +do that using the finish command. This command resumes the program execution and stops it again +right after the program returns from the current function. We'll have to call it several times.

+
(gdb) finish
+Run till exit from #0  0x08003434 in core::ptr::read_volatile<u32> (src=0xe000e010)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053
+cortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136
+136             self.csr.read() & SYST_CSR_COUNTFLAG != 0
+Value returned is $1 = 5
+
+(..)
+
+(gdb) finish
+Run till exit from #0  0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32
+0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38
+38              self.delay_ms(u32(ms));
+
+(gdb) finish
+Run till exit from #0  0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38
+0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15
+15              delay.delay_ms(half_period);
+
+

We are back in main. We have a local variable in here: half_period

+
(gdb) print half_period
+$3 = 500
+
+

Now, we are going to modify this variable using the set command:

+
(gdb) set half_period = 100
+
+(gdb) print half_period
+$5 = 100
+
+

If you let program run free again using the continue command, you might see that the LED will +blink at a much faster rate now, but more likely the blink rate didn't change. What happened?

+

Let's stop the program with Ctrl+C and then set a break point at main:14.

+
(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+core::cell::UnsafeCell<u32>::get<u32> (self=0x20009fa4)
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1711
+1711        pub const fn get(&self) -> *mut T {
+
+

Then set a break point at main.rs:14 and continue

+
(gdb) break main.rs:14
+Breakpoint 2 at 0x8000236: file src/05-led-roulette/src/main.rs, line 14.
+(gdb) continue
+Continuing.
+
+Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:14
+14              leds[0].on().ok();
+
+

Now open your terminal window so it's about 80 lines long an 170 characters wide if possible.

+
+

NOTE: If you can't open the terminal that large, no problem you'll just see +--Type <RET> for more, q to quit, c to continue without paging-- so just type return +until you see the (gdb) prompt. Then scroll your terminal window to +see the results.

+
+
(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:
+8       fn main() -> ! {
+   0x08000208 <+0>:     push    {r7, lr}
+   0x0800020a <+2>:     mov     r7, sp
+   0x0800020c <+4>:     sub     sp, #64 ; 0x40
+   0x0800020e <+6>:     add     r0, sp, #32
+
+9           let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+   0x08000210 <+8>:     bl      0x8000302 <aux5::init>
+   0x08000214 <+12>:    b.n     0x8000216 <led_roulette::__cortex_m_rt_main+14>
+   0x08000216 <+14>:    add     r0, sp, #32
+   0x08000218 <+16>:    add     r1, sp, #4
+   0x0800021a <+18>:    ldmia.w r0, {r2, r3, r4, r12, lr}
+   0x0800021e <+22>:    stmia.w r1, {r2, r3, r4, r12, lr}
+   0x08000222 <+26>:    ldr     r0, [sp, #52]   ; 0x34
+   0x08000224 <+28>:    ldr     r1, [sp, #56]   ; 0x38
+   0x08000226 <+30>:    str     r1, [sp, #28]
+   0x08000228 <+32>:    str     r0, [sp, #24]
+   0x0800022a <+34>:    mov.w   r0, #500        ; 0x1f4
+
+10
+11          let half_period = 500_u16;
+   0x0800022e <+38>:    strh.w  r0, [r7, #-2]
+
+12
+13          loop {
+   0x08000232 <+42>:    b.n     0x8000234 <led_roulette::__cortex_m_rt_main+44>
+   0x08000234 <+44>:    add     r0, sp, #24
+   0x08000268 <+96>:    b.n     0x8000234 <led_roulette::__cortex_m_rt_main+44>
+
+14              leds[0].on().ok();
+=> 0x08000236 <+46>:    bl      0x80001ec <switch_hal::output::{{impl}}::on<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x0800023a <+50>:    b.n     0x800023c <led_roulette::__cortex_m_rt_main+52>
+   0x0800023c <+52>:    bl      0x8000594 <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x08000240 <+56>:    b.n     0x8000242 <led_roulette::__cortex_m_rt_main+58>
+   0x08000242 <+58>:    add     r0, sp, #4
+   0x08000244 <+60>:    mov.w   r1, #500        ; 0x1f4
+
+15              delay.delay_ms(half_period);
+   0x08000248 <+64>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x0800024c <+68>:    b.n     0x800024e <led_roulette::__cortex_m_rt_main+70>
+   0x0800024e <+70>:    add     r0, sp, #24
+
+16
+17              leds[0].off().ok();
+   0x08000250 <+72>:    bl      0x800081a <switch_hal::output::{{impl}}::off<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x08000254 <+76>:    b.n     0x8000256 <led_roulette::__cortex_m_rt_main+78>
+   0x08000256 <+78>:    bl      0x8000594 <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x0800025a <+82>:    b.n     0x800025c <led_roulette::__cortex_m_rt_main+84>
+   0x0800025c <+84>:    add     r0, sp, #4
+   0x0800025e <+86>:    mov.w   r1, #500        ; 0x1f4
+
+18              delay.delay_ms(half_period);
+   0x08000262 <+90>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x08000266 <+94>:    b.n     0x8000268 <led_roulette::__cortex_m_rt_main+96>
+
+End of assembler dump.
+
+

In the above dump the reason the delay didn't change was because the compiler +recognized that half_period didn't change and instead in the two places where +delay.delay_ms(half_period); is called we see mov.w r1, #500. So changing the +value of half_period does nothing!

+
   0x08000244 <+60>:    mov.w   r1, #500        ; 0x1f4
+
+15              delay.delay_ms(half_period);
+   0x08000248 <+64>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+
+(..)
+
+   0x0800025e <+86>:    mov.w   r1, #500        ; 0x1f4
+
+18              delay.delay_ms(half_period);
+   0x08000262 <+90>:    bl      0x8002f5c <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+
+

One solution to the problem is to wrap half_period in a Volatile as shown below.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use volatile::Volatile;
+use aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry};
+
+#[entry]
+fn main() -> ! {
+    let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+    let mut half_period = 500_u16;
+    let v_half_period = Volatile::new(&mut half_period);
+
+    loop {
+        leds[0].on().ok();
+        delay.delay_ms(v_half_period.read());
+
+        leds[0].off().ok();
+        delay.delay_ms(v_half_period.read());
+    }
+}
+
+
+

Edit Cargo.toml adding volatile = "0.4.3" in the [dependencies] section.

+
[dependencies]
+aux5 = { path = "auxiliary" }
+volatile = "0.4.3"
+
+

With the above code using Volatile you can now change half_period and +you'll be able to experiment with different values. Here is the list of +commands followed by an explanation; # xxxx to demonstrate.

+
$ cargo run --target thumbv7em-none-eabihf   # Compile and load the program into gdb
+(gdb) target remote :3333           # Connect to STM32F3DISCOVERY board from PC
+(gdb) load                          # Flash program
+(gdb) break main.rs:16              # Set breakpoint 1 at top of loop
+(gdb) continue                      # Continue, will stop at main.rs:16
+(gdb) disable 1                     # Disable breakpoint 1
+(gdb) set print asm-demangle on     # Enable asm-demangle
+(gdb) disassemble /m                # Disassemble main function
+(gdb) continue                      # Led blinking on for 1/2 sec then off 1/2 sec
+^C                                  # Stop with Ctrl+C
+(gdb) enable 1                      # Enable breakpoint 1
+(gdb) continue                      # Continue, will stop at main.rs:16
+(gdb) print half_period             # Print half_period result is 500
+(gdb) set half_period = 2000        # Set half_period to 2000ms
+(gdb) print half_period             # Print half_period and result is 2000
+(gdb) disable 1                     # Disable breakpoint 1
+(gdb) continue                      # Led blinking on for 2 secs then off 2 sec
+^C                                  # Stop with Ctrl+C
+(gdb) quit                          # Quit gdb
+
+

The critical changes are at lines 13, 17 and 20 in the source code which +you can see in the disassembly. At 13 we create v_half_period and then +read() its value in lines 17 and 20. This means that when we set half_period = 2000 +the led will now be on for 2 seconds then off for 2 seconds.

+
$ cargo run --target thumbv7em-none-eabihf
+   Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette)
+    Finished dev [unoptimized + debuginfo] target(s) in 0.18s
+     Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+
+(gdb) target remote :3333
+Remote debugging using :3333
+led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) load
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x5258 lma 0x8000194
+Loading section .rodata, size 0xbd8 lma 0x80053ec
+Start address 0x08000194, load size 24516
+Transfer rate: 21 KB/sec, 6129 bytes/write.
+
+(gdb) break main.rs:16
+Breakpoint 1 at 0x8000246: file src/05-led-roulette/src/main.rs, line 16.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) disable 1
+
+(gdb) set print asm-demangle on
+
+(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17he1f2bc7990b13731E:
+9       fn main() -> ! {
+   0x0800020e <+0>:     push    {r7, lr}
+   0x08000210 <+2>:     mov     r7, sp
+   0x08000212 <+4>:     sub     sp, #72 ; 0x48
+   0x08000214 <+6>:     add     r0, sp, #36     ; 0x24
+
+10          let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+   0x08000216 <+8>:     bl      0x800036a <aux5::init>
+   0x0800021a <+12>:    b.n     0x800021c <led_roulette::__cortex_m_rt_main+14>
+   0x0800021c <+14>:    add     r0, sp, #36     ; 0x24
+   0x0800021e <+16>:    add     r1, sp, #8
+   0x08000220 <+18>:    ldmia.w r0, {r2, r3, r4, r12, lr}
+   0x08000224 <+22>:    stmia.w r1, {r2, r3, r4, r12, lr}
+   0x08000228 <+26>:    ldr     r0, [sp, #56]   ; 0x38
+   0x0800022a <+28>:    ldr     r1, [sp, #60]   ; 0x3c
+   0x0800022c <+30>:    str     r1, [sp, #32]
+   0x0800022e <+32>:    str     r0, [sp, #28]
+   0x08000230 <+34>:    mov.w   r0, #500        ; 0x1f4
+
+11
+12          let mut half_period = 500_u16;
+   0x08000234 <+38>:    strh.w  r0, [r7, #-6]
+   0x08000238 <+42>:    subs    r0, r7, #6
+
+13          let v_half_period = Volatile::new(&mut half_period);
+   0x0800023a <+44>:    bl      0x800033e <volatile::Volatile<&mut u16, volatile::access::ReadWrite>::new<&mut u16>>
+   0x0800023e <+48>:    str     r0, [sp, #68]   ; 0x44
+   0x08000240 <+50>:    b.n     0x8000242 <led_roulette::__cortex_m_rt_main+52>
+
+14
+15          loop {
+   0x08000242 <+52>:    b.n     0x8000244 <led_roulette::__cortex_m_rt_main+54>
+   0x08000244 <+54>:    add     r0, sp, #28
+   0x08000288 <+122>:   b.n     0x8000244 <led_roulette::__cortex_m_rt_main+54>
+
+16              leds[0].on().ok();
+=> 0x08000246 <+56>:    bl      0x800032c <switch_hal::output::{{impl}}::on<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x0800024a <+60>:    b.n     0x800024c <led_roulette::__cortex_m_rt_main+62>
+   0x0800024c <+62>:    bl      0x80005fc <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x08000250 <+66>:    b.n     0x8000252 <led_roulette::__cortex_m_rt_main+68>
+   0x08000252 <+68>:    add     r0, sp, #68     ; 0x44
+
+17              delay.delay_ms(v_half_period.read());
+   0x08000254 <+70>:    bl      0x800034a <volatile::Volatile<&mut u16, volatile::access::ReadWrite>::read<&mut u16,u16,volatile::access::ReadWrite>>
+   0x08000258 <+74>:    str     r0, [sp, #4]
+   0x0800025a <+76>:    b.n     0x800025c <led_roulette::__cortex_m_rt_main+78>
+   0x0800025c <+78>:    add     r0, sp, #8
+   0x0800025e <+80>:    ldr     r1, [sp, #4]
+   0x08000260 <+82>:    bl      0x8002fc4 <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x08000264 <+86>:    b.n     0x8000266 <led_roulette::__cortex_m_rt_main+88>
+   0x08000266 <+88>:    add     r0, sp, #28
+
+18
+19              leds[0].off().ok();
+   0x08000268 <+90>:    bl      0x8000882 <switch_hal::output::{{impl}}::off<stm32f3xx_hal::gpio::gpioe::PEx<stm32f3xx_hal::gpio::Output<stm32f3xx_hal::gpio::PushPull>>>>
+   0x0800026c <+94>:    b.n     0x800026e <led_roulette::__cortex_m_rt_main+96>
+   0x0800026e <+96>:    bl      0x80005fc <core::result::Result<(), core::convert::Infallible>::ok<(),core::convert::Infallible>>
+   0x08000272 <+100>:   b.n     0x8000274 <led_roulette::__cortex_m_rt_main+102>
+   0x08000274 <+102>:   add     r0, sp, #68     ; 0x44
+
+20              delay.delay_ms(v_half_period.read());
+   0x08000276 <+104>:   bl      0x800034a <volatile::Volatile<&mut u16, volatile::access::ReadWrite>::read<&mut u16,u16,volatile::access::ReadWrite>>
+   0x0800027a <+108>:   str     r0, [sp, #0]
+   0x0800027c <+110>:   b.n     0x800027e <led_roulette::__cortex_m_rt_main+112>
+   0x0800027e <+112>:   add     r0, sp, #8
+   0x08000280 <+114>:   ldr     r1, [sp, #0]
+   0x08000282 <+116>:   bl      0x8002fc4 <stm32f3xx_hal::delay::{{impl}}::delay_ms>
+   0x08000286 <+120>:   b.n     0x8000288 <led_roulette::__cortex_m_rt_main+122>
+
+End of assembler dump.
+
+(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+0x080037b2 in core::cell::UnsafeCell<u32>::get<u32> (self=0x20009fa0) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1716
+1716        }
+
+(gdb) enable 1
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) print half_period
+$2 = 500
+
+(gdb) disable 1
+
+(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+0x08003498 in core::ptr::read_volatile<u32> (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1052
+1052        unsafe { intrinsics::volatile_load(src) }
+
+(gdb) enable 1
+
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16
+16              leds[0].on().ok();
+
+(gdb) print half_period
+$3 = 500
+
+(gdb) set half_period = 2000
+
+(gdb) print half_period
+$4 = 2000
+
+(gdb) disable 1
+
+(gdb) continue
+Continuing.
+^C
+Program received signal SIGINT, Interrupt.
+0x0800348e in core::ptr::read_volatile<u32> (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1046
+1046    pub unsafe fn read_volatile<T>(src: *const T) -> T {
+
+(gdb) q
+Detaching from program: ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+

Question! What happens if you start lowering the value of half_period? At what value of +half_period you can no longer see the LED blink?

+

Now, it's your turn to write a program.

+

The challenge

+

You are now well armed to face a challenge! Your task will be to implement the application I showed +you at the beginning of this chapter.

+

Here's the GIF again:

+

+ +

+

Also, this may help:

+

+ +

+

This is a timing diagram. It indicates which LED is on at any given instant of time and for how long +each LED should be on. On the X axis we have the time in milliseconds. The timing diagram shows a +single period. This pattern will repeat itself every 800 ms. The Y axis labels each LED with a +cardinal point: North, East, etc. As part of the challenge you'll have to figure out how each +element in the Leds array maps to these cardinal points (hint: cargo doc --open ;-)).

+

Before you attempt this challenge, let me give you one additonal tip. Our GDB sessions always involve +entering the same commands at the beginning. We can use a .gdb file to execute some commands +right after GDB is started. This way you can save yourself the effort of having to enter them +manually on each GDB session.

+

As it turns out we've already created ../openocd.gdb and you can see it's doing +pretty much what we did in the previous section plus a few other commands. Look at +the comments for additional information:

+
$ cat ../openocd.gdb
+# Connect to gdb remote server
+target remote :3333
+
+# Load will flash the code
+load
+
+# Eanble demangling asm names on disassembly
+set print asm-demangle on
+
+# Enable pretty printing
+set print pretty on
+
+# Disable style sources as the default colors can be hard to read
+set style sources off
+
+# Initialize monitoring so iprintln! macro output
+# is sent from the itm port to itm.txt
+monitor tpiu config internal itm.txt uart off 8000000
+
+# Turn on the itm port
+monitor itm port 0 on
+
+# Set a breakpoint at main, aka entry
+break main
+
+# Set a breakpiont at DefaultHandler
+break DefaultHandler
+
+# Set a breakpiont at HardFault
+break HardFault
+
+# Continue running and until we hit the main breakpoint
+continue
+
+# Step from the trampoline code in entry into main
+step
+
+
+

Now we need to modify the ../.cargo/config.toml file to execute ../openocd.gdb

+
nano ../.cargo/config.toml
+
+

Edit your runner command -x ../openocd.gdb. +Assuming you're using arm-none-eabi-gdb the diff is:

+
~/embedded-discovery/src/05-led-roulette
+$ git diff ../.cargo/config.toml
+diff --git a/src/.cargo/config.toml b/src/.cargo/config.toml
+index ddff17f..02ac952 100644
+--- a/src/.cargo/config.toml
++++ b/src/.cargo/config.toml
+@@ -1,5 +1,5 @@
+ [target.thumbv7em-none-eabihf]
+-runner = "arm-none-eabi-gdb -q"
++runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+ # runner = "gdb-multiarch -q"
+ # runner = "gdb -q"
+ rustflags = [
+
+

And the full contents of ../.cargo/config.toml, again +assuming arm-none-eabi-gdb, is:

+
[target.thumbv7em-none-eabihf]
+runner = "arm-none-eabi-gdb -q -x ../openocd.gdb"
+# runner = "gdb-multiarch -q"
+# runner = "gdb -q"
+rustflags = [
+  "-C", "link-arg=-Tlink.x",
+]
+
+[build]
+target = "thumbv7em-none-eabihf"
+
+
+

With that in place, you can now use a simple cargo run command which will build +the ARM version of the code and run the gdb session. The gdb session will +automatically flash the program and jump to the beginning of main as it step's +through the entry trampoline:

+
cargo run
+
+
~/embedded-discovery/src/05-led-roulette (Update-05-led-roulette-WIP)
+$ cargo run
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+     Running `arm-none-eabi-gdb -q -x openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...
+led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x52c0 lma 0x8000194
+Loading section .rodata, size 0xb50 lma 0x8005454
+Start address 0x08000194, load size 24484
+Transfer rate: 21 KB/sec, 6121 bytes/write.
+Breakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.
+Note: automatically using hardware breakpoints for read-only addresses.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline ()
+    at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7
+7       #[entry]
+led_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9
+9           let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+

Fork the discovery book

+

If you haven't already ready, it's probably a good idea to fork +the embedded discovery book so you +can save your changes in your own branch of your fork. We suggest creating +your own branch and leaving the master branch alone so the master branch +of your fork can stay in sync with the upstream repo. Also, it allows you to +more easily create PR's and improve this book, thank you in advance!

+

My solution

+

What solution did you come up with?

+

Here's mine:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry};
+
+#[entry]
+fn main() -> ! {
+    let (mut delay, mut leds): (Delay, LedArray) = aux5::init();
+
+    let ms = 50_u8;
+    loop {
+        for curr in 0..8 {
+            let next = (curr + 1) % 8;
+
+            leds[next].on().ok();
+            delay.delay_ms(ms);
+            leds[curr].off().ok();
+            delay.delay_ms(ms);
+        }
+    }
+}
+

One more thing! Check that your solution also works when compiled in "release" mode:

+
$ cargo build --target thumbv7em-none-eabihf --release
+
+

You can test it with this gdb command:

+
$ # or, you could simply call `cargo run --target thumbv7em-none-eabihf --release`
+$ arm-none-eabi-gdb target/thumbv7em-none-eabihf/release/led-roulette
+$ #                                              ~~~~~~~
+
+

Binary size is something we should always keep an eye on! How big is your solution? You can check +that using the size command on the release binary:

+
$ # equivalent to size target/thumbv7em-none-eabihf/debug/led-roulette
+$ cargo size --target thumbv7em-none-eabihf --bin led-roulette -- -A
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section               size        addr
+.vector_table          404   0x8000000
+.text                21144   0x8000194
+.rodata               3144   0x800542c
+.data                    0  0x20000000
+.bss                     4  0x20000000
+.uninit                  0  0x20000004
+.debug_abbrev        19160         0x0
+.debug_info         471239         0x0
+.debug_aranges       18376         0x0
+.debug_ranges       102536         0x0
+.debug_str          508618         0x0
+.debug_pubnames      76975         0x0
+.debug_pubtypes     112797         0x0
+.ARM.attributes         58         0x0
+.debug_frame         55848         0x0
+.debug_line         282067         0x0
+.debug_loc             845         0x0
+.comment               147         0x0
+Total              1673362
+
+
+$ cargo size --target thumbv7em-none-eabihf --bin led-roulette --release -- -A
+    Finished release [optimized + debuginfo] target(s) in 0.03s
+led-roulette  :
+section              size        addr
+.vector_table         404   0x8000000
+.text                5380   0x8000194
+.rodata               564   0x8001698
+.data                   0  0x20000000
+.bss                    4  0x20000000
+.uninit                 0  0x20000004
+.debug_loc           9994         0x0
+.debug_abbrev        1821         0x0
+.debug_info         74974         0x0
+.debug_aranges        600         0x0
+.debug_ranges        6848         0x0
+.debug_str          52828         0x0
+.debug_pubnames     20821         0x0
+.debug_pubtypes     18891         0x0
+.ARM.attributes        58         0x0
+.debug_frame         1088         0x0
+.debug_line         15307         0x0
+.comment               19         0x0
+Total              209601
+
+
+

NOTE The Cargo project is already configured to build the release binary using LTO.

+
+

Know how to read this output? The text section contains the program instructions. It's around 5.25KB +in my case. On the other hand, the data and bss sections contain variables statically allocated +in RAM (static variables). A static variable is being used in aux5::init; that's why it shows 4 +bytes of bss.

+

One final thing! We have been running our programs from within GDB but our programs doesn't depend on +GDB at all. You can confirm this be closing both GDB and OpenOCD and then resetting the board by +pressing the black button on the board. The LED roulette application will run without intervention +of GDB.

+

Hello, world!

+
+

HEADS UP The "solder bridge" SB10 (see back of the board) on the STM32F3DISCOVERY, which is +required to use the ITM and the iprint! macros shown below, is not soldered by default +(see page 21 of the User Manual). +(To be more accurate: this actually depends on the board revision. If you have an old version of +the board as the old User Manual said, the SB10 was soldered. Check your board +to decide whether you need to fix it.)

+
+
+

TL;DR You have two options to fix this: Either solder the solder bridge SB10 or connect a +female to female jumper wire between SWO and PB3 as shown in the picture below.

+
+

+ +

+
+

Just a little more of helpful magic before we start doing low level stuff.

+

Blinking an LED is like the "Hello, world" of the embedded world.

+

But in this section, we'll run a proper "Hello, world" program that prints stuff to your computer +console.

+

Go to the 06-hello-world directory. There's some starter code in it:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux6::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let mut itm = aux6::init();
+
+    iprintln!(&mut itm.stim[0], "Hello, world!");
+
+    loop {}
+}
+

The iprintln macro will format messages and output them to the microcontroller's ITM. ITM stands +for Instrumentation Trace Macrocell and it's a communication protocol on top of SWD (Serial Wire +Debug) which can be used to send messages from the microcontroller to the debugging host. This +communication is only one way: the debugging host can't send data to the microcontroller.

+

OpenOCD, which is managing the debug session, can receive data sent through this ITM channel and +redirect it to a file.

+

The ITM protocol works with frames (you can think of them as Ethernet frames). Each frame has a +header and a variable length payload. OpenOCD will receive these frames and write them directly to a +file without parsing them. So, if the microntroller sends the string "Hello, world!" using the +iprintln macro, OpenOCD's output file won't exactly contain that string.

+

To retrieve the original string, OpenOCD's output file will have to be parsed. We'll use the +itmdump program to perform the parsing as new data arrives.

+

You should have already installed the itmdump program during the installation chapter.

+

In a new terminal, run this command inside the /tmp directory, if you are using a *nix OS, or from +within the %TEMP% directory, if you are running Windows. This should be the same directory from +where you are running OpenOCD.

+
+

NOTE It's very important that both itmdump and openocd are running +from the same directory!

+
+
$ # itmdump terminal
+
+$ # *nix
+$ cd /tmp && touch itm.txt
+
+$ # Windows
+$ cd %TEMP% && type nul >> itm.txt
+
+$ # both
+$ itmdump -F -f itm.txt
+
+

This command will block as itmdump is now watching the itm.txt file. Leave this terminal open.

+

Make sure that the STM32F3DISCOVERY board is connected to your computer. Open another terminal +from /tmp directory (on Windows %TEMP%) to launch OpenOCD similar as described in chapter 3.

+

Alright. Now, let's build the starter code and flash it into the microcontroller.

+

We will now build and run the application, cargo run. And step through it using next. +Since openocd.gdb contains the monitor commands in openocd.gdb OpenOCD will redirect +the ITM output to itm.txt and itmdump will write it to its terminal window. Also, it setup +break points and stepped through the trampoline we are at the first executable +statement in fn main():

+
~/embedded-discovery/src/06-hello-world
+$ cargo run
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+     Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:14
+14          loop {}
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x2828 lma 0x8000194
+Loading section .rodata, size 0x638 lma 0x80029bc
+Start address 0x08000194, load size 12276
+Transfer rate: 18 KB/sec, 4092 bytes/write.
+Breakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.
+Note: automatically using hardware breakpoints for read-only addresses.
+Breakpoint 2 at 0x800092a: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.
+Breakpoint 3 at 0x80029a8: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560.
+
+Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8
+8       #[entry]
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10
+10          let mut itm = aux6::init();
+
+(gdb)
+
+

Now issue a next command which will execute aux6::init() and +stop at the next executable statement in main.rs, which +positions us at line 12:

+
(gdb) next
+12	    iprintln!(&mut itm.stim[0], "Hello, world!");
+
+

Then issue another next command which will execute +line 12, executing the iprintln and stop at line 14:

+
(gdb) next
+14	    loop {}
+
+

Now since iprintln has been executed the output on the itmdump +terminal window should be the Hello, world! string:

+
$ itmdump -F -f itm.txt
+(...)
+Hello, world!
+
+

Awesome, right? Feel free to use iprintln as a logging tool in the coming sections.

+

Next: That's not all! The iprint! macros are not the only thing that uses the ITM. :-)

+

panic!

+

The panic! macro also sends its output to the ITM!

+

Change the main function to look like this:

+
#[entry]
+fn main() -> ! {
+    panic!("Hello, world!");
+}
+

Before running one other suggestion, I find it inconvenient to have to +confirm when quitting gdb. Add the following file in your home +directory ~/.gdbinit so that it quits immediately:

+
$ cat ~/.gdbinit
+define hook-quit
+  set confirm off
+end
+
+

OK, now use cargo run and it stops at the first line of fn main():

+
$ cargo run
+   Compiling hello-world v0.2.0 (~/embedded-discovery/src/06-hello-world)
+    Finished dev [unoptimized + debuginfo] target(s) in 0.11s
+     Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`
+Reading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10
+10          panic!("Hello, world!");
+Loading section .vector_table, size 0x194 lma 0x8000000
+Loading section .text, size 0x20fc lma 0x8000194
+Loading section .rodata, size 0x554 lma 0x8002290
+Start address 0x08000194, load size 10212
+Transfer rate: 17 KB/sec, 3404 bytes/write.
+Breakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.
+Note: automatically using hardware breakpoints for read-only addresses.
+Breakpoint 2 at 0x8000222: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.
+Breakpoint 3 at 0x800227a: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560.
+
+Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8
+8       #[entry]
+hello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10
+10          panic!("Hello, world!");
+(gdb)
+
+

We'll use short command names to save typing, enter c then the Enter or Return key:

+
(gdb) c
+Continuing.
+
+

If all is well you'll see some new output in the itmdump terminal.

+
$ # itmdump terminal
+(..)
+panicked at 'Hello, world!', src/06-hello-world/src/main.rs:10:5
+
+

Then type Ctrl-c which breaks out of a loop in the runtime:

+
^C
+Program received signal SIGINT, Interrupt.
+0x0800115c in panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:57
+57	        atomic::compiler_fence(Ordering::SeqCst);
+
+

Ultimately, panic! is just another function call so you can see it leaves behind +a trace of function calls. This allows you to use backtrace or just bt and to see +call stack that caused the panic:

+
(gdb) bt
+#0  panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47
+#1  0x080005c2 in core::panicking::panic_fmt () at library/core/src/panicking.rs:92
+#2  0x0800055a in core::panicking::panic () at library/core/src/panicking.rs:50
+#3  0x08000210 in hello_world::__cortex_m_rt_main () at src/06-hello-world/src/main.rs:10
+#4  0x080001f4 in hello_world::__cortex_m_rt_main_trampoline () at src/06-hello-world/src/main.rs:8
+
+

Another thing we can do is catch the panic before it does the logging. +So we'll do several things; reset to the beginning, disable breakpoint 1, +set a new breakpoint at rust_begin_unwind, list the break points and then continue:

+
(gdb) monitor reset halt
+Unable to match requested speed 1000 kHz, using 950 kHz
+Unable to match requested speed 1000 kHz, using 950 kHz
+adapter speed: 950 kHz
+target halted due to debug-request, current mode: Thread 
+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000
+
+(gdb) disable 1
+
+(gdb) break rust_begin_unwind 
+Breakpoint 4 at 0x800106c: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs, line 47.
+
+(gdb) info break
+Num     Type           Disp Enb Address    What
+1       breakpoint     keep n   0x080001f0 in hello_world::__cortex_m_rt_main_trampoline 
+                                           at ~/prgs/rust/tutorial/embedded-discovery/src/06-hello-world/src/main.rs:8
+        breakpoint already hit 1 time
+2       breakpoint     keep y   0x08000222 in cortex_m_rt::DefaultHandler_ 
+                                           at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:570
+3       breakpoint     keep y   0x0800227a in cortex_m_rt::HardFault_ 
+                                           at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560
+4       breakpoint     keep y   0x0800106c in panic_itm::panic 
+                                           at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47
+
+(gdb) c
+Continuing.
+
+Breakpoint 4, panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47
+47          interrupt::disable();
+
+

You'll notice that nothing got printed on the itmdump console this time. If +you resume the program using continue then a new line will be printed.

+

In a later section we'll look into other simpler communication protocols.

+

Finally, enter the q command to quit and it quits immediately without asking for confirmation:

+
(gdb) q
+Detaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+

As an even shorter sequence you can type Ctrl-d, which eliminates +one keystroke!

+
+

NOTE In this case the (gdb) prompt is overwritten with quit)

+
+
quit)
+Detaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+

Registers

+

It's time to explore what the Led API does under the hood.

+

In a nutshell, it just writes to some special memory regions. Go into the 07-registers directory +and let's run the starter code statement by statement.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux7::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    aux7::init();
+
+    unsafe {
+        // A magic address!
+        const GPIOE_BSRR: u32 = 0x48001018;
+
+        // Turn on the "North" LED (red)
+        *(GPIOE_BSRR as *mut u32) = 1 << 9;
+
+        // Turn on the "East" LED (green)
+        *(GPIOE_BSRR as *mut u32) = 1 << 11;
+
+        // Turn off the "North" LED
+        *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);
+
+        // Turn off the "East" LED
+        *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+    }
+
+    loop {}
+}
+

What's this magic?

+

The address 0x48001018 points to a register. A register is a special region of memory that +controls a peripheral. A peripheral is a piece of electronics that sits right next to the +processor within the microcontroller package and provides the processor with extra functionality. +After all, the processor, on its own, can only do math and logic.

+

This particular register controls General Purpose Input/Output (GPIO) pins (GPIO is a +peripheral) and can be used to drive each of those pins low or high.

+

An aside: LEDs, digital outputs and voltage levels

+

Drive? Pin? Low? High?

+

A pin is a electrical contact. Our microcontroller has several of them and some of them are +connected to LEDs. An LED, a Light Emitting Diode, will only emit light when voltage is applied to +it with a certain polarity.

+

+ +

+

Luckily for us, the microcontroller's pins are connected to the LEDs with the right polarity. All +that we have to do is output some non-zero voltage through the pin to turn the LED on. The pins +attached to the LEDs are configured as digital outputs and can only output two different voltage +levels: "low", 0 Volts, or "high", 3 Volts. A "high" (voltage) level will turn the LED on whereas +a "low" (voltage) level will turn it off.

+

These "low" and "high" states map directly to the concept of digital logic. "low" is 0 or false +and "high" is 1 or true. This is why this pin configuration is known as digital output.

+
+

OK. But how can one find out what this register does? Time to RTRM (Read the Reference Manual)!

+

RTRM: Reading The Reference Manual

+

I mentioned that the microcontroller has several pins. For convenience, these pins are grouped in +ports of 16 pins. Each port is named with a letter: Port A, Port B, etc. and the pins within each +port are named with numbers from 0 to 15.

+

The first thing we have to find out is which pin is connected to which LED. This information is in +the STM32F3DISCOVERY User Manual (You downloaded a copy, right?). In this particular section:

+
+

Section 6.4 LEDs - Page 18

+
+

The manual says:

+
    +
  • LD3, the North LED, is connected to the pin PE9. PE9 is the short form of: Pin 9 on Port E.
  • +
  • LD7, the East LED, is connected to the pin PE11.
  • +
+

Up to this point, we know that we want to change the state of the pins PE9 and PE11 to turn the +North/East LEDs on/off. These pins are part of Port E so we'll have to deal with the GPIOE +peripheral.

+

Each peripheral has a register block associated to it. A register block is a collection of +registers allocated in contiguous memory. The address at which the register block starts is known as +its base address. We need to figure out what's the base address of the GPIOE peripheral. That +information is in the following section of the microcontroller Reference Manual:

+
+

Section 3.2.2 Memory map and register boundary addresses - Page 51

+
+

The table says that base address of the GPIOE register block is 0x4800_1000.

+

Each peripheral also has its own section in the documentation. Each of these sections ends with a +table of the registers that the peripheral's register block contains. For the GPIO family of +peripheral, that table is in:

+
+

Section 11.4.12 GPIO register map - Page 243

+
+

'BSRR' is the register which we will be using to set/reset. Its offset value is '0x18' from the base address +of the 'GPIOE'. We can look up BSRR in the reference manual. +GPIO Registers -> GPIO port bit set/reset register (GPIOx_BSRR).

+

Now we need to jump to the documentation of that particular register. It's a few pages above in:

+
+

Section 11.4.7 GPIO port bit set/reset register (GPIOx_BSRR) - Page 240

+
+

Finally!

+

This is the register we were writing to. The documentation says some interesting things. First, this +register is write only ... so let's try reading its value :-).

+

We'll use GDB's examine command: x.

+
(gdb) next
+16              *(GPIOE_BSRR as *mut u32) = 1 << 9;
+
+(gdb) x 0x48001018
+0x48001018:     0x00000000
+
+(gdb) # the next command will turn the North LED on
+(gdb) next
+19              *(GPIOE_BSRR as *mut u32) = 1 << 11;
+
+(gdb) x 0x48001018
+0x48001018:     0x00000000
+
+

Reading the register returns 0. That matches what the documentation says.

+

The other thing that the documentation says is that the bits 0 to 15 can be used to set the +corresponding pin. That is bit 0 sets the pin 0. Here, set means outputting a high value on +the pin.

+

The documentation also says that bits 16 to 31 can be used to reset the corresponding pin. In this +case, the bit 16 resets the pin number 0. As you may guess, reset means outputting a low value +on the pin.

+

Correlating that information with our program, all seems to be in agreement:

+
    +
  • +

    Writing 1 << 9 (BS9 = 1) to BSRR sets PE9 high. That turns the North LED on.

    +
  • +
  • +

    Writing 1 << 11 (BS11 = 1) to BSRR sets PE11 high. That turns the East LED on.

    +
  • +
  • +

    Writing 1 << 25 (BR9 = 1) to BSRR sets PE9 low. That turns the North LED off.

    +
  • +
  • +

    Finally, writing 1 << 27 (BR11 = 1) to BSRR sets PE11 low. That turns the East LED off.

    +
  • +
+

(mis)Optimization

+

Reads/writes to registers are quite special. I may even dare to say that they are embodiment of side +effects. In the previous example we wrote four different values to the same register. If you didn't +know that address was a register, you may have simplified the logic to just write the final value 1 << (11 + 16) into the register.

+

Actually, LLVM, the compiler's backend / optimizer, does not know we are dealing with a register and +will merge the writes thus changing the behavior of our program. Let's check that really quick.

+
$ cargo run --release
+(..)
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7
+7       #[entry]
+
+(gdb) step
+registers::__cortex_m_rt_main () at src/07-registers/src/main.rs:9
+9           aux7::init();
+
+(gdb) next
+25              *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+
+(gdb) disassemble /m
+Dump of assembler code for function _ZN9registers18__cortex_m_rt_main17h45b1ef53e18aa8d0E:
+8       fn main() -> ! {
+   0x08000248 <+0>:     push    {r7, lr}
+   0x0800024a <+2>:     mov     r7, sp
+
+9           aux7::init();
+   0x0800024c <+4>:     bl      0x8000260 <aux7::init>
+   0x08000250 <+8>:     movw    r0, #4120       ; 0x1018
+   0x08000254 <+12>:    mov.w   r1, #134217728  ; 0x8000000
+   0x08000258 <+16>:    movt    r0, #18432      ; 0x4800
+
+10
+11          unsafe {
+12              // A magic address!
+13              const GPIOE_BSRR: u32 = 0x48001018;
+14
+15              // Turn on the "North" LED (red)
+16              *(GPIOE_BSRR as *mut u32) = 1 << 9;
+17
+18              // Turn on the "East" LED (green)
+19              *(GPIOE_BSRR as *mut u32) = 1 << 11;
+20
+21              // Turn off the "North" LED
+22              *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);
+23
+24              // Turn off the "East" LED
+25              *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+=> 0x0800025c <+20>:    str     r1, [r0, #0]
+   0x0800025e <+22>:    b.n     0x800025e <registers::__cortex_m_rt_main+22>
+
+End of assembler dump.
+
+

The state of the LEDs didn't change this time! The str instruction is the one that writes a value +to the register. Our debug (unoptimized) program had four of them, one for each write to the +register, but the release (optimized) program only has one.

+

We can check that using objdump and capture the output to out.asm:

+
# same as cargo objdump -- -d --no-show-raw-insn --print-imm-hex --source target/thumbv7em-none-eabihf/debug/registers
+cargo objdump --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > debug.txt
+
+

Then examine debug.txt looking for main and we see the 4 str instructions:

+
080001ec <main>:
+; #[entry]
+ 80001ec:       push    {r7, lr}
+ 80001ee:       mov     r7, sp
+ 80001f0:       bl      #0x2
+ 80001f4:       trap
+
+080001f6 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2>:
+; fn main() -> ! {
+ 80001f6:       push    {r7, lr}
+ 80001f8:       mov     r7, sp
+;     aux7::init();
+ 80001fa:       bl      #0x3e
+ 80001fe:       b       #-0x2 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2+0xa>
+;         *(GPIOE_BSRR as *mut u32) = 1 << 9;
+ 8000200:       movw    r0, #0x2640
+ 8000204:       movt    r0, #0x800
+ 8000208:       ldr     r0, [r0]
+ 800020a:       movw    r1, #0x1018
+ 800020e:       movt    r1, #0x4800
+ 8000212:       str     r0, [r1]
+;         *(GPIOE_BSRR as *mut u32) = 1 << 11;
+ 8000214:       movw    r0, #0x2648
+ 8000218:       movt    r0, #0x800
+ 800021c:       ldr     r0, [r0]
+ 800021e:       str     r0, [r1]
+;         *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);
+ 8000220:       movw    r0, #0x2650
+ 8000224:       movt    r0, #0x800
+ 8000228:       ldr     r0, [r0]
+ 800022a:       str     r0, [r1]
+;         *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);
+ 800022c:       movw    r0, #0x2638
+ 8000230:       movt    r0, #0x800
+ 8000234:       ldr     r0, [r0]
+ 8000236:       str     r0, [r1]
+;     loop {}
+ 8000238:       b       #-0x2 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2+0x44>
+ 800023a:       b       #-0x4 <registers::__cortex_m_rt_main::hc2e3436fa38cd6f2+0x44>
+ (..)
+
+

How do we prevent LLVM from misoptimizing our program? We use volatile operations instead of plain +reads/writes:

+
#![no_main]
+#![no_std]
+
+use core::ptr;
+
+#[allow(unused_imports)]
+use aux7::entry;
+
+#[entry]
+fn main() -> ! {
+    aux7::init();
+
+    unsafe {
+        // A magic address!
+        const GPIOE_BSRR: u32 = 0x48001018;
+
+        // Turn on the "North" LED (red)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9);
+
+        // Turn on the "East" LED (green)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11);
+
+        // Turn off the "North" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16));
+
+        // Turn off the "East" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16));
+    }
+
+    loop {}
+}
+
+

Generate release.txt using with --release mode.

+
cargo objdump --release --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > release.txt
+
+

Now find the main routine in release.txt and we see the 4 str instructions.

+
0800023e <main>:
+; #[entry]
+ 800023e:       push    {r7, lr}
+ 8000240:       mov     r7, sp
+ 8000242:       bl      #0x2
+ 8000246:       trap
+
+08000248 <registers::__cortex_m_rt_main::h45b1ef53e18aa8d0>:
+; fn main() -> ! {
+ 8000248:       push    {r7, lr}
+ 800024a:       mov     r7, sp
+;     aux7::init();
+ 800024c:       bl      #0x22
+ 8000250:       movw    r0, #0x1018
+ 8000254:       mov.w   r1, #0x200
+ 8000258:       movt    r0, #0x4800
+;         intrinsics::volatile_store(dst, src);
+ 800025c:       str     r1, [r0]
+ 800025e:       mov.w   r1, #0x800
+ 8000262:       str     r1, [r0]
+ 8000264:       mov.w   r1, #0x2000000
+ 8000268:       str     r1, [r0]
+ 800026a:       mov.w   r1, #0x8000000
+ 800026e:       str     r1, [r0]
+ 8000270:       b       #-0x4 <registers::__cortex_m_rt_main::h45b1ef53e18aa8d0+0x28>
+ (..)
+
+

We see that the four writes (str instructions) are preserved. If you run it using +gdb you'll also see that we get the expected behavior.

+
+

NB: The last next will endlessly execute loop {}, use Ctrl-c to get +back to the (gdb) prompt.

+
+
$ cargo run --release
+(..)
+
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9
+9       #[entry]
+
+(gdb) step
+registers::__cortex_m_rt_main () at src/07-registers/src/main.rs:11
+11          aux7::init();
+
+(gdb) next
+18              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9);
+
+(gdb) next
+21              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11);
+
+(gdb) next
+24              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16));
+
+(gdb) next
+27              ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16));
+
+(gdb) next
+^C
+Program received signal SIGINT, Interrupt.
+0x08000270 in registers::__cortex_m_rt_main ()
+    at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1124
+1124            intrinsics::volatile_store(dst, src);
+(gdb) 
+
+

0xBAAAAAAD address

+

Not all the peripheral memory can be accessed. Look at this program.

+
#![no_main]
+#![no_std]
+
+use core::ptr;
+
+#[allow(unused_imports)]
+use aux7::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    aux7::init();
+
+    unsafe {
+        ptr::read_volatile(0x4800_1800 as *const u32);
+    }
+
+    loop {}
+}
+

This address is close to the GPIOE_BSRR address we used before but this address is invalid. +Invalid in the sense that there's no register at this address.

+

Now, let's try it.

+
$ cargo run
+(..)
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9
+9       #[entry]
+
+(gdb) continue
+Continuing.
+
+Breakpoint 3, cortex_m_rt::HardFault_ (ef=0x20009fb0)
+    at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560
+560         loop {
+
+(gdb)
+
+

We tried to do an invalid operation, reading memory that doesn't exist, so the processor raised an +exception, a hardware exception.

+

In most cases, exceptions are raised when the processor attempts to perform an invalid operation. +Exceptions break the normal flow of a program and force the processor to execute an exception +handler, which is just a function/subroutine.

+

There are different kind of exceptions. Each kind of exception is raised by different conditions and +each one is handled by a different exception handler.

+

The aux7 crate depends on the cortex-m-rt crate which defines a default +hard fault handler, named HardFault, that handles the "invalid memory +address" exception. openocd.gdb placed a breakpoint on HardFault; that's why +the debugger halted your program while it was executing the exception handler. +We can get more information about the exception from the debugger. Let's see:

+
(gdb) list
+555     #[allow(unused_variables)]
+556     #[doc(hidden)]
+557     #[link_section = ".HardFault.default"]
+558     #[no_mangle]
+559     pub unsafe extern "C" fn HardFault_(ef: &ExceptionFrame) -> ! {
+560         loop {
+561             // add some side effect to prevent this from turning into a UDF instruction
+562             // see rust-lang/rust#28728 for details
+563             atomic::compiler_fence(Ordering::SeqCst);
+564         }
+
+

ef is a snapshot of the program state right before the exception occurred. Let's inspect it:

+
(gdb) print/x *ef
+$1 = cortex_m_rt::ExceptionFrame {
+  r0: 0x48001800,
+  r1: 0x80036b0,
+  r2: 0x1,
+  r3: 0x80000000,
+  r12: 0xb,
+  lr: 0x800020d,
+  pc: 0x8001750,
+  xpsr: 0xa1000200
+}
+
+

There are several fields here but the most important one is pc, the Program Counter register. +The address in this register points to the instruction that generated the exception. Let's +disassemble the program around the bad instruction.

+
(gdb) disassemble /m ef.pc
+Dump of assembler code for function core::ptr::read_volatile<u32>:
+1046    pub unsafe fn read_volatile<T>(src: *const T) -> T {
+   0x0800174c <+0>:     sub     sp, #12
+   0x0800174e <+2>:     str     r0, [sp, #4]
+
+1047        if cfg!(debug_assertions) && !is_aligned_and_not_null(src) {
+1048            // Not panicking to keep codegen impact smaller.
+1049            abort();
+1050        }
+1051        // SAFETY: the caller must uphold the safety contract for `volatile_load`.
+1052        unsafe { intrinsics::volatile_load(src) }
+   0x08001750 <+4>:     ldr     r0, [r0, #0]
+   0x08001752 <+6>:     str     r0, [sp, #8]
+   0x08001754 <+8>:     ldr     r0, [sp, #8]
+   0x08001756 <+10>:    str     r0, [sp, #0]
+   0x08001758 <+12>:    b.n     0x800175a <core::ptr::read_volatile<u32>+14>
+
+1053    }
+   0x0800175a <+14>:    ldr     r0, [sp, #0]
+   0x0800175c <+16>:    add     sp, #12
+   0x0800175e <+18>:    bx      lr
+
+End of assembler dump.
+
+

The exception was caused by the ldr r0, [r0, #0] instruction, a read instruction. The instruction +tried to read the memory at the address indicated by the r0 register. By the way, r0 is a CPU +(processor) register not a memory mapped register; it doesn't have an associated address like, say, +GPIO_BSRR.

+

Wouldn't it be nice if we could check what the value of the r0 register was right at the instant +when the exception was raised? Well, we already did! The r0 field in the ef value we printed +before is the value of r0 register had when the exception was raised. Here it is again:

+
(gdb) print/x *ef
+$1 = cortex_m_rt::ExceptionFrame {
+  r0: 0x48001800,
+  r1: 0x80036b0,
+  r2: 0x1,
+  r3: 0x80000000,
+  r12: 0xb,
+  lr: 0x800020d,
+  pc: 0x8001750,
+  xpsr: 0xa1000200
+}
+
+

r0 contains the value 0x4800_1800 which is the invalid address we called the read_volatile +function with.

+

Spooky action at a distance

+

BSRR is not the only register that can control the pins of Port E. The ODR register also lets +you change the value of the pins. Furthermore, ODR also lets you retrieve the current output +status of Port E.

+

ODR is documented in:

+
+

Section 11.4.6 GPIO port output data register - Page 239

+
+

Let's look at this program. The key to this program +is fn iprint_odr. This function prints the current +value in ODR to the ITM console

+
#![no_main]
+#![no_std]
+
+use core::ptr;
+
+#[allow(unused_imports)]
+use aux7::{entry, iprintln, ITM};
+
+// Print the current contents of odr
+fn iprint_odr(itm: &mut ITM) {
+    const GPIOE_ODR: u32 = 0x4800_1014;
+
+    unsafe {
+        iprintln!(
+            &mut itm.stim[0],
+            "ODR = 0x{:04x}",
+            ptr::read_volatile(GPIOE_ODR as *const u16)
+        );
+    }
+}
+
+#[entry]
+fn main() -> ! {
+    let mut itm= aux7::init().0;
+
+    unsafe {
+        // A magic addresses!
+        const GPIOE_BSRR: u32 = 0x4800_1018;
+
+        // Print the initial contents of ODR
+        iprint_odr(&mut itm);
+
+        // Turn on the "North" LED (red)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9);
+        iprint_odr(&mut itm);
+
+        // Turn on the "East" LED (green)
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11);
+        iprint_odr(&mut itm);
+
+        // Turn off the "North" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16));
+        iprint_odr(&mut itm);
+
+        // Turn off the "East" LED
+        ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16));
+        iprint_odr(&mut itm);
+    }
+
+    loop {}
+}
+

If you run this program

+
$ cargo run
+(..)
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:22
+22      #[entry]
+
+(gdb) continue
+Continuing.
+
+

You'll see on itmdump's console:

+
$ # itmdump's console
+(..)
+ODR = 0x0000
+ODR = 0x0200
+ODR = 0x0a00
+ODR = 0x0800
+ODR = 0x0000
+
+

Side effects! Although we are reading the same address multiple times without actually modifying it, +we still see its value change every time BSRR is written to.

+

Type safe manipulation

+

The last register we were working with, ODR, had this in its documentation:

+
+

Bits 31:16 Reserved, must be kept at reset value

+
+

We are not supposed to write to those bits of the register or Bad Stuff May Happen.

+

There's also the fact the registers have different read/write permissions. Some of them are write +only, others can be read and written to and there must be others that are read only.

+

Finally, directly working with hexadecimal addresses is error prone. You already saw that trying to +access an invalid memory address causes an exception which disrupts the execution of our program.

+

Wouldn't it be nice if we had an API to manipulate registers in a "safe" manner? Ideally, the API +should encode these three points I've mentioned: No messing around with the actual addresses, should +respect read/write permissions and should prevent modification of the reserved parts of a register.

+

Well, we do! aux7::init() actually returns a value that provides a type safe API to manipulate the +registers of the GPIOE peripheral.

+

As you may remember: a group of registers associated to a peripheral is called register block, and +it's located in a contiguous region of memory. In this type safe API each register block is modeled +as a struct where each of its fields represents a register. Each register field is a different +newtype over e.g. u32 that exposes a combination of the following methods: read, write or +modify according to its read/write permissions. Finally, these methods don't take primitive values +like u32, instead they take yet another newtype that can be constructed using the builder pattern +and that prevent the modification of the reserved parts of the register.

+

The best way to get familiar with this API is to port our running example to it.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux7::{entry, iprintln, ITM, RegisterBlock};
+
+#[entry]
+fn main() -> ! {
+    let gpioe = aux7::init().1;
+
+    // Turn on the North LED
+    gpioe.bsrr.write(|w| w.bs9().set_bit());
+
+    // Turn on the East LED
+    gpioe.bsrr.write(|w| w.bs11().set_bit());
+
+    // Turn off the North LED
+    gpioe.bsrr.write(|w| w.br9().set_bit());
+
+    // Turn off the East LED
+    gpioe.bsrr.write(|w| w.br11().set_bit());
+
+    loop {}
+}
+

First thing you notice: There are no magic addresses involved. Instead we use a more human friendly +way, for example gpioe.bsrr, to refer to the BSRR register in the GPIOE register block.

+

Then we have this write method that takes a closure. If the identity closure (|w| w) is used, +this method will set the register to its default (reset) value, the value it had right after the +microcontroller was powered on / reset. That value is 0x0 for the BSRR register. Since we want +to write a non-zero value to the register, we use builder methods like bs9 and br9 to set some +of the bits of the default value.

+

Let's run this program! There's some interesting stuff we can do while debugging the program.

+

gpioe is a reference to the GPIOE register block. print gpioe will return the base address of +the register block.

+
$ cargo run
+(..)
+
+Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7
+7       #[entry]
+
+(gdb) step
+registers::__cortex_m_rt_main () at src/07-registers/src/main.rs:9
+9           let gpioe = aux7::init().1;
+
+(gdb) next
+12          gpioe.bsrr.write(|w| w.bs9().set_bit());
+
+(gdb) print gpioe
+$1 = (*mut stm32f3::stm32f303::gpioc::RegisterBlock) 0x48001000
+
+

But if we instead print *gpioe, we'll get a full view of the register block: the value of each +of its registers will be printed.

+
(gdb) print *gpioe
+$2 = stm32f3::stm32f303::gpioc::RegisterBlock {
+  moder: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_MODER> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 1431633920
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_MODER>
+  },
+  otyper: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_OTYPER> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_OTYPER>
+  },
+  ospeedr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_OSPEEDR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_OSPEEDR>
+  },
+  pupdr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_PUPDR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_PUPDR>
+  },
+  idr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_IDR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 204
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_IDR>
+  },
+  odr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_ODR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_ODR>
+  },
+  bsrr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_BSRR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_BSRR>
+  },
+  lckr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_LCKR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_LCKR>
+  },
+  afrl: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_AFRL> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_AFRL>
+  },
+  afrh: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_AFRH> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_AFRH>
+  },
+  brr: stm32f3::generic::Reg<u32, stm32f3::stm32f303::gpioc::_BRR> {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0
+      }
+    },
+    _marker: core::marker::PhantomData<stm32f3::stm32f303::gpioc::_BRR>
+  }
+}
+
+

All these newtypes and closures sound like they'd generate large, bloated programs but, if you +actually compile the program in release mode with LTO enabled, you'll see that it produces exactly +the same instructions that the "unsafe" version that used write_volatile and hexadecimal addresses +did!

+

Use cargo objdump to grab the assembler code to release.txt:

+
cargo objdump --bin registers --release -- -d --no-show-raw-insn --print-imm-hex > release.txt
+
+

Then search for main in release.txt

+
0800023e <main>:
+ 800023e:      	push	{r7, lr}
+ 8000240:      	mov	r7, sp
+ 8000242:      	bl	#0x2
+ 8000246:      	trap
+
+08000248 <registers::__cortex_m_rt_main::h199f1359501d5c71>:
+ 8000248:      	push	{r7, lr}
+ 800024a:      	mov	r7, sp
+ 800024c:      	bl	#0x22
+ 8000250:      	movw	r0, #0x1018
+ 8000254:      	mov.w	r1, #0x200
+ 8000258:      	movt	r0, #0x4800
+ 800025c:      	str	r1, [r0]
+ 800025e:      	mov.w	r1, #0x800
+ 8000262:      	str	r1, [r0]
+ 8000264:      	mov.w	r1, #0x2000000
+ 8000268:      	str	r1, [r0]
+ 800026a:      	mov.w	r1, #0x8000000
+ 800026e:      	str	r1, [r0]
+ 8000270:      	b	#-0x4 <registers::__cortex_m_rt_main::h199f1359501d5c71+0x28>
+
+

The best part of all this is that nobody had to write a single line of code to implement the +GPIOE API. All the code was automatically generated from a System View Description (SVD) file using the +svd2rust tool. This SVD file is actually an XML file that microcontroller vendors provide and that +contains the register maps of their microcontrollers. The file contains the layout of register +blocks, the base addresses, the read/write permissions of each register, the layout of the +registers, whether a register has reserved bits and lots of other useful information.

+

LEDs, again

+

In the last section, I gave you initialized (configured) peripherals (I initialized them in +aux7::init). That's why just writing to BSRR was enough to control the LEDs. But, peripherals +are not initialized right after the microcontroller boots.

+

In this section, you'll have more fun with registers. I won't do any initialization and you'll have +to initialize and configure GPIOE pins as digital outputs pins so that you'll be able to drive LEDs +again.

+

This is the starter code.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux8::entry;
+
+#[entry]
+fn main() -> ! {
+    let (gpioe, rcc) = aux8::init();
+
+    // TODO initialize GPIOE
+
+    // Turn on all the LEDs in the compass
+    gpioe.odr.write(|w| {
+        w.odr8().set_bit();
+        w.odr9().set_bit();
+        w.odr10().set_bit();
+        w.odr11().set_bit();
+        w.odr12().set_bit();
+        w.odr13().set_bit();
+        w.odr14().set_bit();
+        w.odr15().set_bit()
+    });
+
+    aux8::bkpt();
+
+    loop {}
+}
+

If you run the starter code, you'll see that nothing happens this time. Furthermore, if you print +the GPIOE register block, you'll see that every register reads as zero even after the +gpioe.odr.write statement was executed!

+
$ cargo run
+Breakpoint 1, main () at src/08-leds-again/src/main.rs:9
+9           let (gpioe, rcc) = aux8::init();
+
+(gdb) continue
+Continuing.
+
+Program received signal SIGTRAP, Trace/breakpoint trap.
+0x08000f3c in __bkpt ()
+
+(gdb) finish
+Run till exit from #0  0x08000f3c in __bkpt ()
+main () at src/08-leds-again/src/main.rs:25
+25          aux8::bkpt();
+
+(gdb) p/x *gpioe
+$1 = stm32f30x::gpioc::RegisterBlock {
+  moder: stm32f30x::gpioc::MODER {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  otyper: stm32f30x::gpioc::OTYPER {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  ospeedr: stm32f30x::gpioc::OSPEEDR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  pupdr: stm32f30x::gpioc::PUPDR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  idr: stm32f30x::gpioc::IDR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  odr: stm32f30x::gpioc::ODR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  bsrr: stm32f30x::gpioc::BSRR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  lckr: stm32f30x::gpioc::LCKR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  afrl: stm32f30x::gpioc::AFRL {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  afrh: stm32f30x::gpioc::AFRH {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  },
+  brr: stm32f30x::gpioc::BRR {
+    register: vcell::VolatileCell<u32> {
+      value: core::cell::UnsafeCell<u32> {
+        value: 0x0
+      }
+    }
+  }
+}
+
+

Power

+

Turns out that, to save power, most peripherals start in a powered off state -- that's their state +right after the microcontroller boots.

+

The Reset and Clock Control (RCC) peripheral can be used to power on or off every other +peripheral.

+

You can find the list of registers in the RCC register block in:

+
+

Section 9.4.14 - RCC register map - Page 166 - Reference Manual

+
+

The registers that control the power status of other peripherals are:

+
    +
  • AHBENR
  • +
  • APB1ENR
  • +
  • APB2ENR
  • +
+

Each bit in these registers controls the power status of a single peripheral, including GPIOE.

+

Your task in this section is to power on the GPIOE peripheral. You'll have to:

+
    +
  • Figure out which of the three registers I mentioned before has the bit that controls the power +status.
  • +
  • Figure out what value that bit must be set to,0 or 1, to power on the GPIOE peripheral.
  • +
  • Finally, you'll have to change the starter code to modify the right register to turn on the +GPIOE peripheral.
  • +
+

If you are successful, you'll see that the gpioe.odr.write statement will now be able to modify +the value of the ODR register.

+

Note that this won't be enough to actually turn on the LEDs.

+

Configuration

+

After turning on the GPIOE peripheral, it still needs to be configured. In this case, we +want the pins to be configured as digital outputs so they can drive the LEDs; by default, most +pins are configured as digital inputs.

+

You can find the list of registers in the GPIOE register block in:

+
+

Section 11.4.12 - GPIO registers - Page 243 - Reference Manual

+
+

The register we'll have to deal with is: MODER.

+

Your task for this section is to further update the starter code to configure the right GPIOE +pins as digital outputs. You'll have to:

+
    +
  • Figure out which pins you need to configure as digital outputs. (hint: check Section 6.4 LEDs of +the User Manual (page 18)).
  • +
  • Read the documentation to understand what the bits in the MODER register do.
  • +
  • Modify the MODER register to configure the pins as digital outputs.
  • +
+

If successful, you'll see the 8 LEDs turn on when you run the program.

+

The solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use aux8::entry;
+
+#[entry]
+fn main() -> ! {
+    let (gpioe, rcc) = aux8::init();
+
+    // enable the GPIOE peripheral
+    rcc.ahbenr.write(|w| w.iopeen().set_bit());
+
+    // configure the pins as outputs
+    gpioe.moder.write(|w| {
+        w.moder8().output();
+        w.moder9().output();
+        w.moder10().output();
+        w.moder11().output();
+        w.moder12().output();
+        w.moder13().output();
+        w.moder14().output();
+        w.moder15().output()
+    });
+
+    // Turn on all the LEDs in the compass
+    gpioe.odr.write(|w| {
+        w.odr8().set_bit();
+        w.odr9().set_bit();
+        w.odr10().set_bit();
+        w.odr11().set_bit();
+        w.odr12().set_bit();
+        w.odr13().set_bit();
+        w.odr14().set_bit();
+        w.odr15().set_bit()
+    });
+
+    aux8::bkpt();
+
+    loop {}
+}
+

Clocks and timers

+

In this section, we'll re-implement the LED roulette application. I'm going to give you back the +Led abstraction but this time I'm going to take away the Delay abstraction :-).

+

Here's the starter code. The delay function is unimplemented so if you run this program the LEDs +will blink so fast that they'll appear to always be on.

+
#![no_main]
+#![no_std]
+
+use aux9::{entry, switch_hal::OutputSwitch, tim6};
+
+#[inline(never)]
+fn delay(tim6: &tim6::RegisterBlock, ms: u16) {
+    // TODO implement this
+}
+
+#[entry]
+fn main() -> ! {
+    let (leds, rcc, tim6) = aux9::init();
+    let mut leds = leds.into_array();
+
+    // TODO initialize TIM6
+
+    let ms = 50;
+    loop {
+        for curr in 0..8 {
+            let next = (curr + 1) % 8;
+
+            leds[next].on().unwrap();
+            delay(tim6, ms);
+            leds[curr].off().unwrap();
+            delay(tim6, ms);
+        }
+    }
+}
+

for loop delays

+

The first challenge is to implement the delay function without using any peripheral and the +obvious solution is to implement it as a for loop delay:

+
#![allow(unused)]
+fn main() {
+#[inline(never)]
+fn delay(tim6: &tim6::RegisterBlock, ms: u16) {
+    for _ in 0..1_000 {}
+}
+}
+

Of course, the above implementation is wrong because it always generates the same delay for any +value of ms.

+

In this section, you'll have to:

+
    +
  • Fix the delay function to generate delays proportional to its input ms.
  • +
  • Tweak the delay function to make the LED roulette spin at a rate of approximately 5 cycles in 4 +seconds (800 milliseconds period).
  • +
  • The processor inside the microcontroller is clocked at 72 MHz and executes most instructions in one +"tick", a cycle of its clock. How many (for) loops do you think the delay function must do +to generate a delay of 1 second?
  • +
  • How many for loops does delay(1000) actually do?
  • +
  • What happens if compile your program in release mode and run it?
  • +
+

NOP

+

If in the previous section you compiled the program in release mode and actually looked at the +disassembly, you probably noticed that the delay function is optimized away and never gets called +from within main.

+

LLVM decided that the function wasn't doing anything worthwhile and just removed it.

+

There is a way to prevent LLVM from optimizing the for loop delay: add a volatile assembly +instruction. Any instruction will do but NOP (No OPeration) is a particular good choice in this case +because it has no side effect.

+

Your for loop delay would become:

+
#![allow(unused)]
+fn main() {
+#[inline(never)]
+fn delay(_tim6: &tim6::RegisterBlock, ms: u16) {
+    const K: u16 = 3; // this value needs to be tweaked
+    for _ in 0..(K * ms) {
+        aux9::nop()
+    }
+}
+}
+

And this time delay won't be compiled away by LLVM when you compile your program in release mode:

+
$ cargo objdump --bin clocks-and-timers --release -- -d --no-show-raw-insn
+clocks-and-timers:      file format ELF32-arm-little
+
+Disassembly of section .text:
+clocks_and_timers::delay::h711ce9bd68a6328f:
+ 8000188:       push    {r4, r5, r7, lr}
+ 800018a:       movs    r4, #0
+ 800018c:       adds    r4, #1
+ 800018e:       uxth    r5, r4
+ 8000190:       bl      #4666
+ 8000194:       cmp     r5, #150
+ 8000196:       blo     #-14 <clocks_and_timers::delay::h711ce9bd68a6328f+0x4>
+ 8000198:       pop     {r4, r5, r7, pc}
+
+

Now, test this: Compile the program in debug mode and run it, then compile the program in release +mode and run it. What's the difference between them? What do you think is the main cause of the +difference? Can you think of a way to make them equivalent or at least more similar again?

+

One-shot timer

+

I hope that, by now, I have convinced you that for loop delays are a poor way to implement delays.

+

Now, we'll implement delays using a hardware timer. The basic function of a (hardware) timer is +... to keep precise track of time. A timer is yet another peripheral that's available to the +microcontroller; thus it can be controlled using registers.

+

The microcontroller we are using has several (in fact, more than 10) timers of different kinds +(basic, general purpose, and advanced timers) available to it. Some timers have more resolution +(number of bits) than others and some can be used for more than just keeping track of time.

+

We'll be using one of the basic timers: TIM6. This is one of the simplest timers available in +our microcontroller. The documentation for basic timers is in the following section:

+
+

Section 22 Timers - Page 670 - Reference Manual

+
+

Its registers are documented in:

+
+

Section 22.4.9 TIM6/TIM7 register map - Page 682 - Reference Manual

+
+

The registers we'll be using in this section are:

+
    +
  • SR, the status register.
  • +
  • EGR, the event generation register.
  • +
  • CNT, the counter register.
  • +
  • PSC, the prescaler register.
  • +
  • ARR, the autoreload register.
  • +
+

We'll be using the timer as a one-shot timer. It will sort of work like an alarm clock. We'll set +the timer to go off after some amount of time and then we'll wait until the timer goes off. The +documentation refers to this mode of operation as one pulse mode.

+

Here's a description of how a basic timer works when configured in one pulse mode:

+
    +
  • The counter is enabled by the user (CR1.CEN = 1).
  • +
  • The CNT register resets its value to zero and, on each tick, its value gets incremented by one.
  • +
  • Once the CNT register has reached the value of the ARR register, the counter will be disabled +by hardware (CR1.CEN = 0) and an update event will be raised (SR.UIF = 1).
  • +
+

TIM6 is driven by the APB1 clock, whose frequency doesn't have to necessarily match the processor +frequency. That is, the APB1 clock could be running faster or slower. The default, however, is that +both APB1 and the processor are clocked at 8 MHz.

+

The tick mentioned in the functional description of the one pulse mode is not the same as one +tick of the APB1 clock. The CNT register increases at a frequency of apb1 / (psc + 1) +times per second, where apb1 is the frequency of the APB1 clock and psc is the value of the +prescaler register, PSC.

+

Initialization

+

As with every other peripheral, we'll have to initialize this timer before we can use it. And just +as in the previous section, initialization is going to involve two steps: powering up the timer and +then configuring it.

+

Powering up the timer is easy: We just have to set TIM6EN bit to 1. This bit is in the APB1ENR +register of the RCC register block.

+
#![allow(unused)]
+fn main() {
+    // Power on the TIM6 timer
+    rcc.apb1enr.modify(|_, w| w.tim6en().set_bit());
+}
+

The configuration part is slightly more elaborate.

+

First, we'll have to configure the timer to operate in one pulse mode.

+
#![allow(unused)]
+fn main() {
+    // OPM Select one pulse mode
+    // CEN Keep the counter disabled for now
+    tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit());
+}
+

Then, we'll like to have the CNT counter operate at a frequency of 1 KHz because our delay +function takes a number of milliseconds as arguments and 1 KHz produces a 1 millisecond period. For +that we'll have to configure the prescaler.

+
#![allow(unused)]
+fn main() {
+    // Configure the prescaler to have the counter operate at 1 KHz
+    tim6.psc.write(|w| w.psc().bits(psc));
+}
+

I'm going to let you figure out the value of the prescaler, psc. Remember that the frequency of +the counter is apb1 / (psc + 1) and that apb1 is 8 MHz.

+

Busy waiting

+

The timer should now be properly initialized. All that's left is to implement the delay function +using the timer.

+

First thing we have to do is set the autoreload register (ARR) to make the timer go off in ms +milliseconds. Because the counter operates at 1 KHz, the autoreload value will be the same as ms.

+
#![allow(unused)]
+fn main() {
+    // Set the timer to go off in `ms` ticks
+    // 1 tick = 1 ms
+    tim6.arr.write(|w| w.arr().bits(ms));
+}
+

Next, we need to enable the counter. It will immediately start counting.

+
#![allow(unused)]
+fn main() {
+    // CEN: Enable the counter
+    tim6.cr1.modify(|_, w| w.cen().set_bit());
+}
+

Now we need to wait until the counter reaches the value of the autoreload register, ms, then we'll +know that ms milliseconds have passed. That condition is known as an update event and its +indicated by the UIF bit of the status register (SR).

+
#![allow(unused)]
+fn main() {
+    // Wait until the alarm goes off (until the update event occurs)
+    while !tim6.sr.read().uif().bit_is_set() {}
+}
+

This pattern of just waiting until some condition is met, in this case that UIF becomes 1, is +known as busy waiting and you'll see it a few more times in this text :-).

+

Finally, we must clear (set to 0) this UIF bit. If we don't, next time we enter the delay +function we'll think the update event has already happened and skip over the busy waiting part.

+
#![allow(unused)]
+fn main() {
+    // Clear the update event flag
+    tim6.sr.modify(|_, w| w.uif().clear_bit());
+}
+

Now, put this all together and check if it works as expected.

+

Putting it all together

+
#![no_main]
+#![no_std]
+
+use aux9::{entry, switch_hal::OutputSwitch, tim6};
+
+#[inline(never)]
+fn delay(tim6: &tim6::RegisterBlock, ms: u16) {
+    // Set the timer to go off in `ms` ticks
+    // 1 tick = 1 ms
+    tim6.arr.write(|w| w.arr().bits(ms));
+
+    // CEN: Enable the counter
+    tim6.cr1.modify(|_, w| w.cen().set_bit());
+
+    // Wait until the alarm goes off (until the update event occurs)
+    while !tim6.sr.read().uif().bit_is_set() {}
+
+    // Clear the update event flag
+    tim6.sr.modify(|_, w| w.uif().clear_bit());
+}
+
+#[entry]
+fn main() -> ! {
+    let (leds, rcc, tim6) = aux9::init();
+    let mut leds = leds.into_array();
+
+    // Power on the TIM6 timer
+    rcc.apb1enr.modify(|_, w| w.tim6en().set_bit());
+
+    // OPM Select one pulse mode
+    // CEN Keep the counter disabled for now
+    tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit());
+
+    // Configure the prescaler to have the counter operate at 1 KHz
+    // APB1_CLOCK = 8 MHz
+    // PSC = 7999
+    // 8 MHz / (7999 + 1) = 1 KHz
+    // The counter (CNT) will increase on every millisecond
+    tim6.psc.write(|w| w.psc().bits(7_999));
+
+    let ms = 50;
+    loop {
+        for curr in 0..8 {
+            let next = (curr + 1) % 8;
+
+            leds[next].on().unwrap();
+            delay(tim6, ms);
+            leds[curr].off().unwrap();
+            delay(tim6, ms);
+        }
+    }
+}
+

Serial communication

+ +

+ +

+
+

+This is what we'll be using. I hope your computer has one! +

+

Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got +replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but +with the communication protocol that this cable is/was usually used for.

+

So what's this serial communication? It's an asynchronous communication protocol where two +devices exchange data serially, as in one bit at a time, using two data lines (plus a common +ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock +signal. Instead both parties must agree on how fast data will be sent along the wire before the +communication occurs. This protocol allows duplex communication as data can be sent from A to B +and from B to A simultaneously.

+

We'll be using this protocol to exchange data between the microcontroller and your computer. In +contrast to the ITM protocol we have used before, with the serial communication protocol you can +send data from your computer to the microcontroller.

+

The next practical question you probably want to ask is: How fast can we send data through this +protocol?

+

This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 +to 2 stop bits. The speed of the protocol is known as baud rate and it's quoted in bits per +second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps.

+

To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 +stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each +one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data +rate will probably be lower because of processing times on the slower side of the communication (the +microcontroller).

+

Today's computers don't support the serial communication protocol. So you can't directly connect +your computer to the microcontroller. But that's where the serial module comes in. This module will +sit between the two and expose a serial interface to the microcontroller and an USB interface to +your computer. The microcontroller will see your computer as another serial device and your computer +will see the microcontroller as a virtual serial device.

+

Now, let's get familiar with the serial module and the serial communication tools that your OS +offers. Pick a route:

+ +

*nix tooling

+

Newer revisions of the discovery board

+

With newer revisions, if you connect the discovery board to your computer you +should see a new TTY device appear in /dev.

+
$ # Linux
+$ dmesg | tail | grep -i tty
+[13560.675310] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device
+
+

This is the USB <-> Serial device. On Linux, it's named tty* (usually +ttyACM* or ttyUSB*).

+

If you don't see the device appear then you probably have an older revision of +the board; check the next section, which contains instructions for older +revisions. If you do have a newer revision skip the next section and move to the +"minicom" section.

+

Older revisions of the discovery board / external serial module

+

Connect the serial module to your computer and let's find out what name the OS assigned to it.

+
+

NOTE On macs, the USB device will named like this: /dev/cu.usbserial-*. You won't +find it using dmesg, instead use ls -l /dev | grep cu.usb and adjust the following +commands accordingly!

+
+
$ dmesg | grep -i tty
+(..)
+[  +0.000155] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0
+
+

But what's this ttyUSB0 thing? It's a file of course! Everything is a file in *nix:

+
$ ls -l /dev/ttyUSB0
+crw-rw-rw- 1 root uucp 188, 0 Oct 27 00:00 /dev/ttyUSB0
+
+
+

NOTE if the permissions above is crw-rw----, the udev rules have not been set correctly +see udev rules

+
+

You can send out data by simply writing to this file:

+
$ echo 'Hello, world!' > /dev/ttyUSB0
+
+

You should see the TX (red) LED on the serial module blink, just once and very fast!

+

All revisions: minicom

+

Dealing with serial devices using echo is far from ergonomic. So, we'll use the program minicom +to interact with the serial device using the keyboard.

+

We must configure minicom before we use it. There are quite a few ways to do that but we'll use a +.minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following +contents:

+
$ cat ~/.minirc.dfl
+pu baudrate 115200
+pu bits 8
+pu parity N
+pu stopbits 1
+pu rtscts No
+pu xonxoff No
+
+
+

NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it.

+
+

That file should be straightforward to read (except for the last two lines), but nonetheless let's +go over it line by line:

+
    +
  • pu baudrate 115200. Sets baud rate to 115200 bps.
  • +
  • pu bits 8. 8 bits per frame.
  • +
  • pu parity N. No parity check.
  • +
  • pu stopbits 1. 1 stop bit.
  • +
  • pu rtscts No. No hardware control flow.
  • +
  • pu xonxoff No. No software control flow.
  • +
+

Once that's in place, we can launch minicom.

+
$ # NOTE you may need to use a different device here
+$ minicom -D /dev/ttyACM0 -b 115200
+
+

This tells minicom to open the serial device at /dev/ttyACM0 and set its +baud rate to 115200. A text-based user interface (TUI) will pop out.

+

+ +

+

You can now send data using the keyboard! Go ahead and type something. Note that +the TUI will not echo back what you type but, if you are using an external +module, you may see some LED on the module blink with each keystroke.

+

minicom commands

+

minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On +mac, the shortcuts start with the Meta key. Some useful commands below:

+
    +
  • Ctrl+A + Z. Minicom Command Summary
  • +
  • Ctrl+A + C. Clear the screen
  • +
  • Ctrl+A + X. Exit and reset
  • +
  • Ctrl+A + Q. Quit with no reset
  • +
+
+

NOTE mac users: In the above commands, replace Ctrl+A with Meta.

+
+

Windows tooling

+

Start by unplugging your discovery board.

+

Before plugging the discovery board or the serial module, run the following command on +the terminal:

+
$ mode
+
+

It will print a list of devices that are connected to your computer. The ones that start with COM in +their names are serial devices. This is the kind of device we'll be working with. Take note of all +the COM ports mode outputs before plugging the serial module.

+

Now, plug the discovery board and run the mode command again. If you see a new +COM port appear on the list then you have a newer revision of the discovery +and that's the COM port assigned to the serial functionality on the discovery. +You can skip the next paragraph.

+

If you didn't get a new COM port then you probably have an older revision of the +discovery. Now plug the serial module; you should see new COM port appear; +that's the COM port of the serial module.

+

Now launch putty. A GUI will pop out.

+

+ +

+

On the starter screen, which should have the "Session" category open, pick "Serial" as the +"Connection type". On the "Serial line" field enter the COM device you got on the previous step, +for example COM3.

+

+ +

+

Next, pick the "Connection/Serial" category from the menu on the left. On this new view, make sure +that the serial port is configured as follows:

+
    +
  • "Speed (baud)": 115200
  • +
  • "Data bits": 8
  • +
  • "Stop bits": 1
  • +
  • "Parity": None
  • +
  • "Flow control": None
  • +
+

Finally, click the Open button. A console will show up now:

+

+ +

+

If you type on this console, the TX (red) LED on the Serial module should blink. Each key stroke +should make the LED blink once. Note that the console won't echo back what you type so the screen +will remain blank.

+

Loopbacks

+

We've tested sending data. It's time to test receiving it. Except that there's no other device that +can send us some data ... or is there?

+

Enter: loopbacks

+

+ +

+

You can send data to yourself! Not very useful in production but very useful for debugging.

+

Older board revision / external serial module

+

Connect the TXO and the RXI pins of the serial module together using a male to male jumper wire +as shown above.

+

Now enter some text into minicom/PuTTY and observe. What happens?

+

You should see three things:

+
    +
  • As before, the TX (red) LED blinks on each key press.
  • +
  • But now the RX (green) LED blinks on each key press as well! This indicates that the serial module +is receiving some data; the one it just sent.
  • +
  • Finally, on the minicom/PuTTY console, you should see that what you type echoes back to the +console.
  • +
+

Newer board revision

+

If you have a newer revision of the board you can set up a loopback by shorting +the PC4 and PC5 pins using a female to female jumper wire, like you did for the +SWO pin.

+

You should now be able to send data to yourself.

+

Now try to enter some text into minicom/PuTTY and observe.

+
+

NOTE: To rule out the possibility of the existing firmware doing weird +things to the serial pins (PC4 and PC5) we recommend holding the reset +button while you enter text into minicom/PuTTY.

+
+

If all is working you should see what you type echoed back to minicom/PuTTY +console.

+
+

Now that you are familiar with sending and receiving data over serial port using minicom/PuTTY, +let's make your microcontroller and your computer talk!

+

USART

+

The microcontroller has a peripheral called USART, which stands for Universal +Synchronous/Asynchronous Receiver/Transmitter. This peripheral can be configured to work with +several communication protocols like the serial communication protocol.

+

Throughout this chapter, we'll use serial communication to exchange information between the +microcontroller and your computer. But before we do that we have to wire up everything.

+

I mentioned before that this protocol involves two data lines: TX and RX. TX stands for transmitter +and RX stands for receiver. Transmitter and receiver are relative terms though; which line is the +transmitter and which line is the receiver depends from which side of the communication you are +looking at the lines.

+

Newer board revisions

+

If you have a newer revision of the board and are using the on-board USB <-> +Serial functionality then the auxiliary crate will set pin PC4 as the TX +line and pin PC5 as the RX line.

+

If you had previously connected the PC4 and PC4 pins in order to test the loopback functionality in the previous section, +make sure to remove that wire, or the upcoming serial communication will fail silently.

+

Everything is already wired on the board so you don't need to wire anything yourself. +You can move on to the next section.

+

Older board revisions / external serial module

+

If you are using an external USB <-> Serial module then you will need to +enable the adapter feature of the aux11 crate dependency in Cargo.toml.

+
[dependencies.aux11]
+path = "auxiliary"
+# enable this if you are going to use an external serial adapter
+features = ["adapter"] # <- uncomment this
+
+

We'll be using the pin PA9 as the microcontroller's TX line and PA10 as its RX line. In other +words, the pin PA9 outputs data onto its wire whereas the pin PA10 listens for data on its +wire.

+

We could have used a different pair of pins as the TX and RX pins. There's a table in page 44 of the +Data Sheet that list all the other possible pins we could have used.

+

The serial module also has TX and RX pins. We'll have to cross these pins: that is connect the +microcontroller's TX pin to the serial module's RX pin and the micro's RX pin to the serial module's +TX pin. The wiring diagram below shows all the necessary connections.

+

+ +

+

These are the recommended steps to connect the microcontroller and the serial module:

+
    +
  • Close OpenOCD and itmdump
  • +
  • Disconnect the USB cables from the F3 and the serial module.
  • +
  • Connect one of F3 GND pins to the GND pin of the serial module using a female to male (F/M) wire. +Preferably, a black one.
  • +
  • Connect the PA9 pin on the back of the F3 to the RXI pin of the serial module using a F/M wire.
  • +
  • Connect the PA10 pin on the back of the F3 to the TXO pin of the serial module using a F/M wire.
  • +
  • Now connect the USB cable to the F3.
  • +
  • Finally connect the USB cable to the Serial module.
  • +
  • Re-launch OpenOCD and itmdump
  • +
+

Everything's wired up! Let's proceed to send data back and forth.

+

Send a single byte

+

Our first task will be to send a single byte from the microcontroller to the computer over the serial +connection.

+

This time, I'm going to provide you with an already initialized USART peripheral. You'll only have +to work with the registers that are in charge of sending and receiving data.

+

Go into the 11-usart directory and let's run the starter code therein. Make sure that you have +minicom/PuTTY open.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // Send a single character
+    usart1
+        .tdr
+        .write(|w| w.tdr().bits(u16::from(b'X')) );
+
+    loop {}
+}
+

This program writes to the TDR register. This causes the USART peripheral to send one byte of +information through the serial interface.

+

On the receiving end, your computer, you should see show the character X appear on minicom/PuTTY's +terminal.

+

Send a string

+

The next task will be to send a whole string from the microcontroller to your computer.

+

I want you to send the string "The quick brown fox jumps over the lazy dog." from the microcontroller to +your computer.

+

It's your turn to write the program.

+

Execute your program inside the debugger, statement by statement. What do you see?

+

Then execute the program again but in one go using the continue command. What happens this time?

+

Finally, build the program in release mode and, again, run it in one go. What happens this time?

+

Overruns

+

If you wrote your program like this:

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // Send a string
+    for byte in b"The quick brown fox jumps over the lazy dog.".iter() {
+        usart1
+            .tdr
+            .write(|w| w.tdr().bits(u16::from(*byte)));
+    }
+
+    loop {}
+}
+

You probably received something like this on your computer when you executed the program compiled in +debug mode.

+
$ # minicom's terminal
+(..)
+The uic brwn oxjums oer helaz do.
+
+

And if you compiled in release mode, you probably only got something like this:

+
$ # minicom's terminal
+(..)
+T
+
+

What went wrong?

+

You see, sending bytes over the wire takes a relatively large amount of time. I already did the math +so let me quote myself:

+
+

With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 +bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data +that results in a data rate of 11.52 KB/s

+
+

Our pangram has a length of 45 bytes. That means it's going to take, at least, 3,900 microseconds +(45 bytes / (11,520 bytes/s) = 3,906 us) to send the string. The processor is working at 8 MHz, +where executing an instruction takes 125 nanoseconds, so it's likely going to be done with the for +loop in less than 3,900 microseconds.

+

We can actually time how long it takes to execute the for loop. aux11::init() returns a +MonoTimer (monotonic timer) value that exposes an Instant API that's similar to the one in +std::time.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, mono_timer, mut itm) = aux11::init();
+
+    let instant = mono_timer.now();
+    // Send a string
+    for byte in b"The quick brown fox jumps over the lazy dog.".iter() {
+        usart1.tdr.write(|w| w.tdr().bits(u16::from(*byte)));
+    }
+    let elapsed = instant.elapsed(); // in ticks
+
+    iprintln!(
+        &mut itm.stim[0],
+        "`for` loop took {} ticks ({} us)",
+        elapsed,
+        elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6
+    );
+
+    loop {}
+}
+

In debug mode, I get:

+
$ # itmdump terminal
+(..)
+`for` loop took 22415 ticks (2801.875 us)
+
+

This is less than 3,900 microseconds but it's not that far off and that's why only a few bytes of +information are lost.

+

In conclusion, the processor is trying to send bytes at a faster rate than what the hardware can +actually handle and this results in data loss. This condition is known as buffer overrun.

+

How do we avoid this? The status register (ISR) has a flag, TXE, that indicates if it's "safe" +to write to the TDR register without incurring in data loss.

+

Let's use that to slowdown the processor.

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, mono_timer, mut itm) = aux11::init();
+
+    let instant = mono_timer.now();
+    // Send a string
+    for byte in b"The quick brown fox jumps over the lazy dog.".iter() {
+        // wait until it's safe to write to TDR
+        while usart1.isr.read().txe().bit_is_clear() {} // <- NEW!
+
+        usart1
+            .tdr
+            .write(|w| w.tdr().bits(u16::from(*byte)));
+    }
+    let elapsed = instant.elapsed(); // in ticks
+
+    iprintln!(
+        &mut itm.stim[0],
+        "`for` loop took {} ticks ({} us)",
+        elapsed,
+        elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6
+    );
+
+    loop {}
+}
+

This time, running the program in debug or release mode should result in a complete string on the +receiving side.

+
$ # minicom/PuTTY's console
+(..)
+The quick brown fox jumps over the lazy dog.
+
+

The timing of the for loop should be closer to the theoretical 3,900 microseconds as well. The +timing below is for the debug version.

+
$ # itmdump terminal
+(..)
+`for` loop took 30499 ticks (3812.375 us)
+
+

uprintln!

+

For the next exercise, we'll implement the uprint! family of macros. Your goal is to make this +line of code work:

+
#![allow(unused)]
+fn main() {
+    uprintln!(serial, "The answer is {}", 40 + 2);
+}
+

Which must send the string "The answer is 42" through the serial interface.

+

How do we go about that? It's informative to look into the std implementation of println!.

+
#![allow(unused)]
+fn main() {
+// src/libstd/macros.rs
+macro_rules! print {
+    ($($arg:tt)*) => ($crate::io::_print(format_args!($($arg)*)));
+}
+}
+

Looks simple so far. We need the built-in format_args! macro (it's implemented in the compiler so we +can't see what it actually does). We'll have to use that macro in the exact same way. What does this +_print function do?

+
#![allow(unused)]
+fn main() {
+// src/libstd/io/stdio.rs
+pub fn _print(args: fmt::Arguments) {
+    let result = match LOCAL_STDOUT.state() {
+        LocalKeyState::Uninitialized |
+        LocalKeyState::Destroyed => stdout().write_fmt(args),
+        LocalKeyState::Valid => {
+            LOCAL_STDOUT.with(|s| {
+                if s.borrow_state() == BorrowState::Unused {
+                    if let Some(w) = s.borrow_mut().as_mut() {
+                        return w.write_fmt(args);
+                    }
+                }
+                stdout().write_fmt(args)
+            })
+        }
+    };
+    if let Err(e) = result {
+        panic!("failed printing to stdout: {}", e);
+    }
+}
+}
+

That looks complicated but the only part we are interested in is: w.write_fmt(args) and +stdout().write_fmt(args). What print! ultimately does is call the fmt::Write::write_fmt method +with the output of format_args! as its argument.

+

Luckily we don't have to implement the fmt::Write::write_fmt method either because it's a default +method. We only have to implement the fmt::Write::write_str method.

+

Let's do that.

+

This is what the macro side of the equation looks like. What's left to be done by you is provide the +implementation of the write_str method.

+

Above we saw that Write is in std::fmt. We don't have access to std but Write is also +available in core::fmt.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use core::fmt::{self, Write};
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln, usart1};
+
+macro_rules! uprint {
+    ($serial:expr, $($arg:tt)*) => {
+        $serial.write_fmt(format_args!($($arg)*)).ok()
+    };
+}
+
+macro_rules! uprintln {
+    ($serial:expr, $fmt:expr) => {
+        uprint!($serial, concat!($fmt, "\n"))
+    };
+    ($serial:expr, $fmt:expr, $($arg:tt)*) => {
+        uprint!($serial, concat!($fmt, "\n"), $($arg)*)
+    };
+}
+
+struct SerialPort {
+    usart1: &'static mut usart1::RegisterBlock,
+}
+
+impl fmt::Write for SerialPort {
+    fn write_str(&mut self, s: &str) -> fmt::Result {
+        // TODO implement this
+        // hint: this will look very similar to the previous program
+        Ok(())
+    }
+}
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    let mut serial = SerialPort { usart1 };
+
+    uprintln!(serial, "The answer is {}", 40 + 2);
+
+    loop {}
+}
+

Receive a single byte

+

So far we have sending data from the microcontroller to your computer. It's time to try the opposite: receiving +data from your computer.

+

There's a RDR register that will be filled with the data that comes from the RX line. If we read +that register, we'll retrieve the data that the other side of the channel sent. The question is: How +do we know that we have received (new) data? The status register, ISR, has a bit for that purpose: +RXNE. We can just busy wait on that flag.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    loop {
+        // Wait until there's data available
+        while usart1.isr.read().rxne().bit_is_clear() {}
+
+        // Retrieve the data
+        let _byte = usart1.rdr.read().rdr().bits() as u8;
+
+        aux11::bkpt();
+    }
+}
+

Let's try this program! Let it run free using continue and then type a single character in +minicom/PuTTY's console. What happens? What are the contents of the _byte variable?

+
(gdb) continue
+Continuing.
+
+Program received signal SIGTRAP, Trace/breakpoint trap.
+0x8003d48 in __bkpt ()
+
+(gdb) finish
+Run till exit from #0  0x8003d48 in __bkpt ()
+usart::main () at src/11-usart/src/main.rs:19
+19              aux11::bkpt();
+
+(gdb) p/c _byte
+$1 = 97 'a'
+
+

Echo server

+

Let's merge transmission and reception into a single program and write an echo server. An echo +server sends back to the client the same text it sent. For this application, the microcontroller +will be the server and you and your computer will be the client.

+

This should be straightforward to implement. (hint: do it byte by byte)

+

Reverse a string

+

Alright, next let's make the server more interesting by having it respond to the client with the +reverse of the text that they sent. The server will respond to the client every time they press the +ENTER key. Each server response will be in a new line.

+

This time you'll need a buffer; you can use heapless::Vec. Here's the starter code:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+use heapless::Vec;
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        // TODO Receive a user request. Each user request ends with ENTER
+        // NOTE `buffer.push` returns a `Result`. Handle the error by responding
+        // with an error message.
+
+        // TODO Send back the reversed string
+    }
+}
+
+

My solution

+
#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux11::{entry, iprint, iprintln};
+use heapless::Vec;
+
+#[entry]
+fn main() -> ! {
+    let (usart1, _mono_timer, _itm) = aux11::init();
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        loop {
+            while usart1.isr.read().rxne().bit_is_clear() {}
+            let byte = usart1.rdr.read().rdr().bits() as u8;
+
+            if buffer.push(byte).is_err() {
+                // buffer full
+                for byte in b"error: buffer full\n\r" {
+                    while usart1.isr.read().txe().bit_is_clear() {}
+                    usart1
+                        .tdr
+                        .write(|w| w.tdr().bits(u16::from(*byte)));
+                }
+
+                break;
+            }
+
+            // Carriage return
+            if byte == 13 {
+                // Respond
+                for byte in buffer.iter().rev().chain(&[b'\n', b'\r']) {
+                    while usart1.isr.read().txe().bit_is_clear() {}
+                    usart1
+                        .tdr
+                        .write(|w| w.tdr().bits(u16::from(*byte)));
+                }
+
+                break;
+            }
+        }
+    }
+}
+

Bluetooth setup

+

It's time to get rid of some wires. Serial communication can not only be emulated on top of the USB +protocol; it can also be emulated on top of the Bluetooth protocol. This serial over Bluetooth +protocol is known as RFCOMM.

+

Before we use the Bluetooth module with the microcontroller, let's first interact with it using +minicom/PuTTY.

+

The first thing we'll need to do is: turn on the Bluetooth module. We'll have to share some of the +F3 power to it using the following connection:

+

+ +

+

The recommend steps to wire this up are:

+
    +
  • Close OpenOCD and itmdump
  • +
  • Disconnect the USB cables from the F3 and the serial module.
  • +
  • Connect F3's GND pin to the Bluetooth's GND pin using a female to female (F/F) wire. Preferably, a +black one.
  • +
  • Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire. Preferably, a red one.
  • +
  • Then, connect the USB cable back to the F3.
  • +
  • Re-launch OpenOCD and itmdump
  • +
+

Two LEDs, a blue one and a red one, on the Bluetooth module should start blinking right after you +power on the F3 board.

+

Next thing to do is pair your computer and the Bluetooth module. AFAIK, Windows and mac users can +simply use their OS default Bluetooth manager to do the pairing. The Bluetooth module default pin +is 1234.

+

Linux users will have to follow (some of) these instructions.

+

Linux

+

If you have a graphical Bluetooth manager, you can use that to pair your computer to the Bluetooth +module and skip most of these steps. You'll probably still have to this step though.

+

Power up

+

First, your computer's Bluetooth transceiver may be OFF. Check its status with hciconfig and turn it +ON if necessary:

+
$ hciconfig
+hci0:   Type: Primary  Bus: USB
+        BD Address: 68:17:29:XX:XX:XX  ACL MTU: 310:10  SCO MTU: 64:8
+        DOWN  <--
+        RX bytes:580 acl:0 sco:0 events:31 errors:0
+        TX bytes:368 acl:0 sco:0 commands:30 errors:0
+
+$ sudo hciconfig hci0 up
+
+$ hciconfig
+hci0:   Type: Primary  Bus: USB
+        BD Address: 68:17:29:XX:XX:XX  ACL MTU: 310:10  SCO MTU: 64:8
+        UP RUNNING  <--
+        RX bytes:1190 acl:0 sco:0 events:67 errors:0
+        TX bytes:1072 acl:0 sco:0 commands:66 errors:0
+
+

Then you need to launch the BlueZ (Bluetooth) daemon:

+
    +
  • On systemd based Linux distributions, use:
  • +
+
$ sudo systemctl start bluetooth
+
+
    +
  • On Ubuntu (or upstart based Linux distributions), use:
  • +
+
$ sudo /etc/init.d/bluetooth start
+
+

You may also need to unblock your Bluetooth, depending on what rfkill list says:

+
$ rfkill list
+9: hci0: Bluetooth
+        Soft blocked: yes # <--
+        Hard blocked: no
+
+$ sudo rfkill unblock bluetooth
+
+$ rfkill list
+9: hci0: Bluetooth
+        Soft blocked: no  # <--
+        Hard blocked: no
+
+
+

Scan

+
$ hcitool scan
+Scanning ...
+        20:16:05:XX:XX:XX       Ferris
+$ #                             ^^^^^^
+
+

Pair

+
$ bluetoothctl
+[bluetooth]# scan on
+[bluetooth]# agent on
+[bluetooth]# pair 20:16:05:XX:XX:XX
+Attempting to pair with 20:16:05:XX:XX:XX
+[CHG] Device 20:16:05:XX:XX:XX Connected: yes
+Request PIN code
+[agent] Enter PIN code: 1234
+
+

rfcomm device

+

We'll create a device file for our Bluetooth module in /dev. Then we'll be able to use it just +like we used /dev/ttyUSB0.

+
$ sudo rfcomm bind 0 20:16:05:XX:XX:XX
+
+

Because we used 0 as an argument to bind, /dev/rfcomm0 will be the device file assigned to our +Bluetooth module.

+

You can release (destroy) the device file at any time with the following command:

+
$ # Don't actually run this command right now!
+$ sudo rfcomm release 0
+
+

Loopback, again

+

After pairing your computer to the Bluetooth module, your OS should have created a device file / COM +port for you. On Linux, it should be /dev/rfcomm*; on mac, it should be /dev/cu.*; and on +Windows, it should be a new COM port.

+

We can now test the Bluetooth module with minicom/PuTTY. Because this module doesn't have LED +indicators for the transmission and reception events like the serial module did, we'll test the +module using a loopback connection:

+

+ +

+

Just connect the module's TXD pin to its RXD pin using a F/F wire.

+

Now, connect to the device using minicom/PuTTY:

+
$ minicom -D /dev/rfcomm0
+
+

Upon connecting, the blinking pattern of the Bluetooth module should change to: long pause then +blink twice quickly.

+

Typing inside minicom/PuTTY terminal should echo back what you type.

+

AT commands

+

The Bluetooth module and the F3 need to be configured to communicate at the same baud rate. The tutorial code initializes the UART1 serial device to a baud rate of 115200. The HC-05 Bluetooth module is configured at a baud rate of 9600 by default.

+

The Bluetooth module supports an AT mode that allows you to examine and change its configuration and settings. To utilize the AT mode, connect the Bluetooth module to the F3 and FTDI as shown in the following diagram.

+

+ +

+

Recommended steps to enter AT mode:

+
    +
  • Disconnect the F3 and FTDI from your computer.
  • +
  • Connect F3's GND pin to the Bluetooth's GND pin using a Female/Female (F/F) wire +(preferably, a black one).
  • +
  • Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire (preferably, a +red one).
  • +
  • Connect the FTDI RXI pin to the Bluetooth's TXD pin using a Female/Male (F/M) wire.
  • +
  • Connect the FTDI TXO pin to the Bluetooth's RXD pin using a Female/Male (F/M) wire.
  • +
  • Now connect the FTDI to your computer via USB cable.
  • +
  • Next connect the F3 to your computer via USB cable while simultaneously pressing and holding the button on the Bluetooth module (kinda tricky).
  • +
  • Now, release the button and the Bluetooth module will enter AT mode. You can confirm this by observing that the red LED on the Bluetooth module is blinking in a slow pattern (approx 1-2 seconds on/off).
  • +
+

The AT mode always operates at a baud rate of 38400, so configure your terminal program for that baud rate and connect to the FTDI device.

+

When your serial connection is established, you may get a bunch of ERROR: (0) repeatedly being displayed. If this happens, just hit ENTER to stop the errors.

+

Sanity check

+
$ at
+OK
+OK
+(etc...)
+
+

Answers OK repeatedly until you hit ENTER again.

+

Rename the device

+
$ at+name=ferris
+OK
+
+

Query for the current baud rate of the Bluetooth module

+
at+uart?
++UART:9600,0,0
+OK
++UART:9600,0,0
+OK
+(etc ...)
+
+

Change the baud rate

+
$ at+uart=115200,0,0
+OK
+
+

Serial over Bluetooth

+

Now that we verify that the Bluetooth module works with minicom/PuTTY, let's connect it to the +microcontroller:

+

+ +

+

Recommended steps to wire this up:

+
    +
  • Close OpenOCD and itmdump.
  • +
  • Disconnect the F3 from your computer.
  • +
  • Connect F3's GND pin to the module's GND pin using a female to female (F/F) wire (preferably, a +black one).
  • +
  • Connect F3's 5V pin to the module's VCC pin using a F/F wire (preferably, a red one).
  • +
  • Connect the PA9 (TX) pin on the back of the F3 to the Bluetooth's RXD pin using a F/F wire.
  • +
  • Connect the PA10 (RX) pin on the back of the F3 to the Bluetooth's TXD pin using a F/F wire.
  • +
  • Now connect the F3 and your computer using an USB cable.
  • +
  • Re-launch OpenOCD and itmdump.
  • +
+

And that's it! You should be able to run all the programs you wrote in section 11 without +modification! Just make sure you open the right serial device / COM port.

+

NOTE If you are having trouble communicating with the bluetooth device, you may need to initialize USART1 with a lower baud rate. Lowering it from 115,200 bps to 9,600 bps might help, as described in the code here

+

I2C

+

We just saw the serial communication protocol. It's a widely used protocol because it's very +simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and +USB.

+

However, it's simplicity is also a downside. More elaborated data exchanges, like reading a digital +sensor, would require the sensor vendor to come up with another protocol on top of it.

+

(Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some +of them are widely used in digital sensors.

+

The F3 board we are using has three motion sensors in it: an accelerometer, a magnetometer and +gyroscope. The accelerometer and magnetometer are packaged in a single component and can be accessed +via an I2C bus.

+

I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It +uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is +used to synchronize the communication, this is a synchronous protocol.

+

+ +

+

This protocol uses a master slave model where the master is the device that starts and +drives the communication with a slave device. Several devices, both masters and slaves, can be +connected to the same bus at the same time. A master device can communicate with a specific slave +device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. +Once a master has started a communication with a slave, no other device can make use of the bus +until the master stops the communication.

+

The clock line determines how fast data can be exchanged and it usually operates at a frequency of +100 KHz (standard mode) or 400 KHz (fast mode).

+

General protocol

+

The I2C protocol is more elaborate than the serial communication protocol because it has to support +communication between several devices. Let's see how it works using examples:

+

Master -> Slave

+

If the master wants to send data to the slave:

+

+ +

+
    +
  1. Master: Broadcast START
  2. +
  3. M: Broadcast slave address (7 bits) + the R/W (8th) bit set to WRITE
  4. +
  5. Slave: Responds ACK (ACKnowledgement)
  6. +
  7. M: Send one byte
  8. +
  9. S: Responds ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. M: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+

Master <- Slave

+

If the master wants to read data from the slave:

+

+ +

+
    +
  1. M: Broadcast START
  2. +
  3. M: Broadcast slave address (7 bits) + the R/W (8th) bit set to READ
  4. +
  5. S: Responds with ACK
  6. +
  7. S: Send byte
  8. +
  9. M: Responds with ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. M: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+

LSM303DLHC

+

* NOTE: Newer (from around 2020/09) Discovery boards may have an LSM303AGR +rather than a LSM303DLHC. +Checkout the github issues like this for more details.

+

Two of the sensors in the F3, the magnetometer and the accelerometer, are packaged in a single +component: the LSM303DLHC integrated circuit. These two sensors can be accessed via an I2C bus. Each +sensor behaves like an I2C slave and has a different address.

+

Each sensor has its own memory where it stores the results of sensing its environment. Our +interaction with these sensors will mainly involve reading their memory.

+

The memory of these sensors is modeled as byte addressable registers. These sensors can be +configured too; that's done by writing to their registers. So, in a sense, these sensors are very +similar to the peripherals inside the microcontroller. The difference is that their registers are +not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the +I2C bus.

+

The main source of information about the LSM303DLHC is its Data Sheet. Read through it to see how +one can read the sensors' registers. That part is in:

+
+

Section 5.1.1 I2C Operation - Page 20 - LSM303DLHC Data Sheet

+
+

The other part of the documentation relevant to this book is the description of the registers. That +part is in:

+
+

Section 7 Register description - Page 25 - LSM303DLHC Data Sheet

+
+

Read a single register

+

Let's put all that theory into practice!

+

Just like with the USART peripheral, I've taken care of initializing everything before you reach +main so you'll only have to deal with the following registers:

+
    +
  • CR2. Control register 2.
  • +
  • ISR. Interrupt and status register.
  • +
  • TXDR. Transmit data register.
  • +
  • RXDR. Receive data register.
  • +
+

These registers are documented in the following section of the Reference Manual:

+
+

Section 28.7 I2C registers - Page 868 - Reference Manual

+
+

We'll be using the I2C1 peripheral in conjunction with pins PB6 (SCL) and PB7 (SDA).

+

You won't have to wire anything this time because the sensor is on the board and it's already +connected to the microcontroller. However, I would recommend that you disconnect the serial / +Bluetooth module from the F3 to make it easier to manipulate. Later on, we'll be moving the board +around quite a bit.

+

Your task is to write a program that reads the contents of the magnetometer's IRA_REG_M register. +This register is read only and always contains the value 0b01001000.

+

The microcontroller will be taking the role of the I2C master and the magnetometer inside the +LSM303DLHC will be the I2C slave.

+

Here's the starter code. You'll have to implement the TODOs.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux14::{entry, iprint, iprintln, prelude::*};
+
+// Slave address
+const MAGNETOMETER: u16 = 0b0011_1100;
+
+// Addresses of the magnetometer's registers
+const OUT_X_H_M: u8 = 0x03;
+const IRA_REG_M: u8 = 0x0A;
+
+#[entry]
+fn main() -> ! {
+    let (i2c1, _delay, mut itm) = aux14::init();
+
+    // Stage 1: Send the address of the register we want to read to the
+    // magnetometer
+    {
+        // TODO Broadcast START
+
+        // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Write
+
+        // TODO Send the address of the register that we want to read: IRA_REG_M
+    }
+
+    // Stage 2: Receive the contents of the register we asked for
+    let byte = {
+        // TODO Broadcast RESTART
+
+        // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Read
+
+        // TODO Receive the contents of the register
+
+        // TODO Broadcast STOP
+        0
+    };
+
+    // Expected output: 0x0A - 0b01001000
+    iprintln!(&mut itm.stim[0], "0x{:02X} - 0b{:08b}", IRA_REG_M, byte);
+
+    loop {}
+}
+

To give you some extra help, these are the exact bitfields you'll be working with:

+
    +
  • CR2: SADD1, RD_WRN, NBYTES, START, AUTOEND
  • +
  • ISR: TXIS, RXNE, TC
  • +
  • TXDR: TXDATA
  • +
  • RXDR: RXDATA
  • +
+

The solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux14::{entry, iprint, iprintln, prelude::*};
+
+// Slave address
+const MAGNETOMETER: u16 = 0b0011_1100;
+
+// Addresses of the magnetometer's registers
+const OUT_X_H_M: u8 = 0x03;
+const IRA_REG_M: u8 = 0x0A;
+
+#[entry]
+fn main() -> ! {
+    let (i2c1, _delay, mut itm) = aux14::init();
+
+    // Stage 1: Send the address of the register we want to read to the
+    // magnetometer
+    {
+        // Broadcast START
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Write
+        i2c1.cr2.write(|w| {
+            w.start().set_bit();
+            w.sadd().bits(MAGNETOMETER);
+            w.rd_wrn().clear_bit();
+            w.nbytes().bits(1);
+            w.autoend().clear_bit()
+        });
+
+        // Wait until we can send more data
+        while i2c1.isr.read().txis().bit_is_clear() {}
+
+        // Send the address of the register that we want to read: IRA_REG_M
+        i2c1.txdr.write(|w| w.txdata().bits(IRA_REG_M));
+
+        // Wait until the previous byte has been transmitted
+        while i2c1.isr.read().tc().bit_is_clear() {}
+    }
+
+    // Stage 2: Receive the contents of the register we asked for
+    let byte = {
+        // Broadcast RESTART
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Read
+        i2c1.cr2.modify(|_, w| {
+            w.start().set_bit();
+            w.nbytes().bits(1);
+            w.rd_wrn().set_bit();
+            w.autoend().set_bit()
+        });
+
+        // Wait until we have received the contents of the register
+        while i2c1.isr.read().rxne().bit_is_clear() {}
+
+        // Broadcast STOP (automatic because of `AUTOEND = 1`)
+
+        i2c1.rxdr.read().rxdata().bits()
+    };
+
+    // Expected output: 0x0A - 0b01001000
+    iprintln!(&mut itm.stim[0], "0x{:02X} - 0b{:08b}", IRA_REG_M, byte);
+
+    loop {}
+}
+

Read several registers

+

Reading the IRA_REG_M register was a good test of our understanding of the I2C protocol but that +register contains uninteresting information.

+

This time, we'll read the registers of the magnetometer that actually expose the sensor readings. +Six contiguous registers are involved and they start with OUT_X_H_M at address 0x03.

+

We'll modify our previous program to read these six registers. Only a few modifications are needed.

+

We'll need to change the address we request from the magnetometer from IRA_REG_M to OUT_X_H_M.

+
#![allow(unused)]
+fn main() {
+    // Send the address of the register that we want to read: OUT_X_H_M
+    i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M));
+}
+

We'll have to request the slave for six bytes rather than just one.

+
#![allow(unused)]
+fn main() {
+    // Broadcast RESTART
+    // Broadcast the MAGNETOMETER address with the R/W bit set to Read
+    i2c1.cr2.modify(|_, w| {
+        w.start().set_bit();
+        w.nbytes().bits(6);
+        w.rd_wrn().set_bit();
+        w.autoend().set_bit()
+    });
+}
+

And fill a buffer rather than read just one byte:

+
#![allow(unused)]
+fn main() {
+    let mut buffer = [0u8; 6];
+    for byte in &mut buffer {
+        // Wait until we have received the contents of the register
+        while i2c1.isr.read().rxne().bit_is_clear() {}
+
+        *byte = i2c1.rxdr.read().rxdata().bits();
+    }
+
+    // Broadcast STOP (automatic because of `AUTOEND = 1`)
+}
+

Putting it all together inside a loop alongside a delay to reduce the data throughput:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux14::{entry, iprint, iprintln, prelude::*};
+
+// Slave address
+const MAGNETOMETER: u16 = 0b0011_1100;
+
+// Addresses of the magnetometer's registers
+const OUT_X_H_M: u8 = 0x03;
+const IRA_REG_M: u8 = 0x0A;
+
+#[entry]
+fn main() -> ! {
+    let (i2c1, mut delay, mut itm) = aux14::init();
+
+    loop {
+        // Broadcast START
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Write
+        i2c1.cr2.write(|w| {
+            w.start().set_bit();
+            w.sadd().bits(MAGNETOMETER);
+            w.rd_wrn().clear_bit();
+            w.nbytes().bits(1);
+            w.autoend().clear_bit()
+        });
+
+        // Wait until we can send more data
+        while i2c1.isr.read().txis().bit_is_clear() {}
+
+        // Send the address of the register that we want to read: OUT_X_H_M
+        i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M));
+
+        // Wait until the previous byte has been transmitted
+        while i2c1.isr.read().tc().bit_is_clear() {}
+
+        // Broadcast RESTART
+        // Broadcast the MAGNETOMETER address with the R/W bit set to Read
+        i2c1.cr2.modify(|_, w| {
+            w.start().set_bit();
+            w.nbytes().bits(6);
+            w.rd_wrn().set_bit();
+            w.autoend().set_bit()
+        });
+
+        let mut buffer = [0u8; 6];
+        for byte in &mut buffer {
+            // Wait until we have received something
+            while i2c1.isr.read().rxne().bit_is_clear() {}
+
+            *byte = i2c1.rxdr.read().rxdata().bits();
+        }
+        // Broadcast STOP (automatic because of `AUTOEND = 1`)
+
+        iprintln!(&mut itm.stim[0], "{:?}", buffer);
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+

If you run this, you should printed in the itmdump's console a new array of six bytes every +second. The values within the array should change if you move around the board.

+
$ # itmdump terminal
+(..)
+[0, 45, 255, 251, 0, 193]
+[0, 44, 255, 249, 0, 193]
+[0, 49, 255, 250, 0, 195]
+
+

But these bytes don't make much sense like that. Let's turn them into actual readings:

+
#![allow(unused)]
+fn main() {
+        let x_h = u16::from(buffer[0]);
+        let x_l = u16::from(buffer[1]);
+        let z_h = u16::from(buffer[2]);
+        let z_l = u16::from(buffer[3]);
+        let y_h = u16::from(buffer[4]);
+        let y_l = u16::from(buffer[5]);
+
+        let x = ((x_h << 8) + x_l) as i16;
+        let y = ((y_h << 8) + y_l) as i16;
+        let z = ((z_h << 8) + z_l) as i16;
+
+        iprintln!(&mut itm.stim[0], "{:?}", (x, y, z));
+}
+

Now it should look better:

+
$ # `itmdump terminal
+(..)
+(44, 196, -7)
+(45, 195, -6)
+(46, 196, -9)
+
+

This is the Earth's magnetic field decomposed alongside the XYZ axis of the magnetometer.

+

In the next section, we'll learn how to make sense of these numbers.

+

LED compass

+

In this section, we'll implement a compass using the LEDs on the F3. Like proper compasses, our LED +compass must point north somehow. It will do that by turning on one of its eight LEDs; the on LED +should point towards north.

+

Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction. The +magnetometer on the F3 measures both the magnitude and the direction of an external magnetic field +but it reports back the decomposition of said field along its axes.

+

See below, the magnetometer has three axes associated to it.

+

+ +

+

Only the X and Y axes are shown above. The Z axis is pointing "out" of your screen.

+

Let's get familiar with the readings of the magnetometer by running the following starter code:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*};
+
+#[entry]
+fn main() -> ! {
+    let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init();
+
+    loop {
+        iprintln!(&mut itm.stim[0], "{:?}", lsm303dlhc.mag().unwrap());
+        delay.delay_ms(1_000_u16);
+    }
+}
+

This lsm303dlhc module provides high level API over the LSM303DLHC. Under the hood it does the +same I2C routine that you implemented in the last section but it reports the X, Y and Z values in a +I16x3 struct instead of a tuple.

+

Locate where north is at your current location. Then rotate the board such that it's aligned +"towards north": the North LED (LD3) should be pointing towards north.

+

Now run the starter code and observe the output. What X, Y and Z values do you see?

+
$ # itmdump terminal
+(..)
+I16x3 { x: 45, y: 194, z: -3 }
+I16x3 { x: 46, y: 195, z: -8 }
+I16x3 { x: 47, y: 197, z: -2 }
+
+

Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do +you see this time? Then rotate it 90 degrees again. What values do you see?

+

Take 1

+

What's the simplest way in which we can implement the LED compass? Even if it's not perfect.

+

For starters, we'd only care about the X and Y components of the magnetic field because when you +look at a compass you always hold it in horizontal position thus the compass is in the XY plane.

+

For example, what LED would you turn on in the following case. EMF stands for Earth's Magnetic Field +and green arrow has the direction of the EMF (it points north).

+

+ +

+

The Southeast LED, right?

+

What signs do the X and Y components of the magnetic field have in that scenario? Both are +positive.

+

If we only looked at the signs of the X and Y components we could determine to which quadrant the +magnetic field belongs to.

+

+ +

+

In the previous example, the magnetic field was in the first quadrant (x and y were positive) and it +made sense to turn on the SouthEast LED. Similarly, we could turn a different LED if the magnetic +field was in a different quadrant.

+

Let's try that logic. Here's the starter code:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        // Look at the signs of the X and Y components to determine in which
+        // quadrant the magnetic field is
+        let dir = match (x > 0, y > 0) {
+            // Quadrant ???
+            (true, true) => Direction::Southeast,
+            // Quadrant ???
+            (false, true) => panic!("TODO"),
+            // Quadrant ???
+            (false, false) => panic!("TODO"),
+            // Quadrant ???
+            (true, false) => panic!("TODO"),
+        };
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+

There's a Direction enum in the led module that has 8 variants named after the cardinal points: +North, East, Southwest, etc. Each of these variants represent one of the 8 LEDs in the +compass. The Leds value can be indexed using the Direction enum; the result of indexing is the +LED that points in that Direction.

+

Solution 1

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        // Look at the signs of the X and Y components to determine in which
+        // quadrant the magnetic field is
+        let dir = match (x > 0, y > 0) {
+            // Quadrant I
+            (true, true) => Direction::Southeast,
+            // Quadrant II
+            (false, true) => Direction::Northeast,
+            // Quadrant III
+            (false, false) => Direction::Northwest,
+            // Quadrant IV
+            (true, false) => Direction::Southwest,
+        };
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+

Take 2

+

This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y +axes of the magnetometer.

+

We'll use the atan2 function. This function returns an angle in the -PI to PI range. The +graphic below shows how this angle is measured:

+

+ +

+

Although not explicitly shown in this graph the X axis points to the right and the Y axis points up.

+

Here's the starter code. theta, in radians, has already been computed. You need to pick which LED +to turn on based on the value of theta.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+// this trait provides the `atan2` method
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        let _theta = (y as f32).atan2(x as f32); // in radians
+
+        // FIXME pick a direction to point to based on `theta`
+        let dir = Direction::Southeast;
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(100_u8);
+    }
+}
+

Suggestions/tips:

+
    +
  • A whole circle rotation equals 360 degrees.
  • +
  • PI radians is equivalent to 180 degrees.
  • +
  • If theta was zero, what LED would you turn on?
  • +
  • If theta was, instead, very close to zero, what LED would you turn on?
  • +
  • If theta kept increasing, at what value would you turn on a different LED?
  • +
+

Solution 2

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init();
+    let mut leds = leds.into_array();
+
+    loop {
+        let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap();
+
+        let theta = (y as f32).atan2(x as f32); // in radians
+
+        let dir = if theta < -7. * PI / 8. {
+            Direction::North
+        } else if theta < -5. * PI / 8. {
+            Direction::Northwest
+        } else if theta < -3. * PI / 8. {
+            Direction::West
+        } else if theta < -PI / 8. {
+            Direction::Southwest
+        } else if theta < PI / 8. {
+            Direction::South
+        } else if theta < 3. * PI / 8. {
+            Direction::Southeast
+        } else if theta < 5. * PI / 8. {
+            Direction::East
+        } else if theta < 7. * PI / 8. {
+            Direction::Northeast
+        } else {
+            Direction::North
+        };
+
+        leds.iter_mut().for_each(|led| led.off().unwrap());
+        leds[dir as usize].on().unwrap();
+
+        delay.delay_ms(100_u8);
+    }
+}
+

Magnitude

+

We have been working with the direction of the magnetic field but what's its real magnitude? The +number that the magnetic_field function reports are unit-less. How can we convert those values to +Gauss?

+

The documentation will answer that question.

+
+

Section 2.1 Sensor characteristics - Page 10 - LSM303DLHC Data Sheet

+
+

The table in that page shows a magnetic gain setting that has different values according to the +values of the GN bits. By default, those GN bits are set to 001. That means that magnetic gain of +the X and Y axes is 1100 LSB / Gauss and the magnetic gain of the Z axis is 980 LSB / Gauss. LSB +stands for Least Significant Bits and the 1100 LSB / Gauss number indicates that a reading of +1100 is equivalent to 1 Gauss, a reading of 2200 is equivalent to 2 Gauss and so on.

+

So, what we need to do is divide the X, Y and Z values that the sensor outputs by its corresponding +gain. Then, we'll have the X, Y and Z components of the magnetic field in Gauss.

+

With some extra math we can retrieve the magnitude of the magnetic field from its X, Y and Z +components:

+
#![allow(unused)]
+fn main() {
+let magnitude = (x * x + y * y + z * z).sqrt();
+}
+

Putting all this together in a program:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, I16x3};
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    const XY_GAIN: f32 = 1100.; // LSB / G
+    const Z_GAIN: f32 = 980.; // LSB / G
+
+    let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init();
+
+    loop {
+        let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap();
+
+        let x = f32::from(x) / XY_GAIN;
+        let y = f32::from(y) / XY_GAIN;
+        let z = f32::from(z) / Z_GAIN;
+
+        let mag = (x * x + y * y + z * z).sqrt();
+
+        iprintln!(&mut itm.stim[0], "{} mG", mag * 1_000.);
+
+        delay.delay_ms(500_u16);
+    }
+}
+

This program will report the magnitude (strength) of the magnetic field in milligauss (mG). The +magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude +varies depending on your geographical location) so you should see a value in that range or close to +that range -- I see a magnitude of around 210 mG.

+

Some questions:

+

Without moving the board, what value do you see? Do you always see the same value?

+

If you rotate the board, does the magnitude change? Should it change?

+

Calibration

+

If we rotate the board, the direction of the Earth's magnetic field with respect to the magnetometer +should change but its magnitude should not! Yet, the magnetometer indicates that the magnitude of +the magnetic field changes as the board rotates.

+

Why's that the case? Turns out the magnetometer needs to be calibrated to return the correct answer.

+

The calibration involves quite a bit of math (matrices) so we won't cover it here but this +Application Note describes the procedure if you are interested. Instead, what we'll do in this +section is visualize how off we are.

+

Let's try this experiment: Let's record the readings of the magnetometer while we slowly rotate the +board in different directions. We'll use the iprintln macro to format the readings as Tab +Separated Values (TSV).

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux15::{entry, iprint, iprintln, prelude::*, I16x3};
+
+#[entry]
+fn main() -> ! {
+    let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init();
+
+    loop {
+        let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap();
+
+        iprintln!(&mut itm.stim[0], "{}\t{}\t{}", x, y, z);
+
+        delay.delay_ms(100_u8);
+    }
+}
+

You should get an output in the console that looks like this:

+
$ # itmdump console
+-76     213     -54
+-76     213     -54
+-76     213     -54
+-76     213     -54
+-73     213     -55
+
+

You can pipe that to a file using:

+
$ # Careful! Exit any running other `itmdump` instance that may be running
+$ itmdump -F -f itm.txt > emf.txt
+
+

Rotate the board in many different direction while you log data for a several seconds.

+

Then import that TSV file into a spreadsheet program (or use the Python script shown below) and plot +the first two columns as a scatter plot.

+
#!/usr/bin/python
+
+import csv
+import math
+import matplotlib.pyplot as plt
+import numpy as np
+import seaborn as sns
+import sys
+
+# apply plot style
+sns.set()
+
+x = []
+y = []
+
+with open(sys.argv[1], 'r') as f:
+    rows = csv.reader(f, delimiter='\t')
+
+    for row in rows:
+        # discard rows that are missing data
+        if len(row) != 3 or not row[0] or not row[1]:
+            continue
+
+        x.append(int(row[0]))
+        y.append(int(row[1]))
+
+r = math.ceil(max(max(np.abs(x)), max(np.abs(y))) / 100) * 100
+
+plt.plot(x, y, '.')
+plt.xlim(-r, r)
+plt.ylim(-r, r)
+plt.gca().set_aspect(1)
+plt.tight_layout()
+
+plt.savefig('emf.svg')
+plt.close
+
+

+ +

+

If you rotated the board on a flat horizontal surface, the Z component of the magnetic field should +have remained relatively constant and this plot should have been a circumference (not a ellipse) +centered at the origin. If you rotated the board in random directions, which was the case of plot +above, then you should have gotten a circle made of a bunch of points centered at the origin. +Deviations from the circle shape indicate that the magnetometer needs to be calibrated.

+

Take home message: Don't just trust the reading of a sensor. Verify it's outputting sensible values. +If it's not, then calibrate it.

+

Punch-o-meter

+

In this section we'll be playing with the accelerometer that's in the board.

+

What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, +actually the maximum acceleration that you can reach because acceleration is what accelerometers +measure. Strength and acceleration are proportional though so it's a good approximation.

+

The accelerometer is also built inside the LSM303DLHC package. And just like the magnetometer, it +can also be accessed using the I2C bus. It also has the same coordinate system as the magnetometer. +Here's the coordinate system again:

+

+ +

+

Just like in the previous unit, we'll be using a high level API to directly get the sensor readings +in a nicely packaged struct.

+

Gravity is up?

+

What's the first thing we'll do?

+

Perform a sanity check!

+

The starter code prints the X, Y and Z components of the acceleration measured by the accelerometer. +The values have already been "scaled" and have units of gs. Where 1 g is equal to the +acceleration of the gravity, about 9.8 meters per second squared.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity};
+
+#[entry]
+fn main() -> ! {
+    let (mut lsm303dlhc, mut delay, _mono_timer, mut itm) = aux16::init();
+
+    // extend sensing range to `[-12g, +12g]`
+    lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap();
+    loop {
+        const SENSITIVITY: f32 = 12. / (1 << 14) as f32;
+
+        let I16x3 { x, y, z } = lsm303dlhc.accel().unwrap();
+
+        let x = f32::from(x) * SENSITIVITY;
+        let y = f32::from(y) * SENSITIVITY;
+        let z = f32::from(z) * SENSITIVITY;
+
+        iprintln!(&mut itm.stim[0], "{:?}", (x, y, z));
+
+        delay.delay_ms(1_000_u16);
+    }
+}
+

The output of this program with the board sitting still will be something like:

+
$ # itmdump console
+(..)
+(0.0, 0.0, 1.078125)
+(0.0, 0.0, 1.078125)
+(0.0, 0.0, 1.171875)
+(0.0, 0.0, 1.03125)
+(0.0, 0.0, 1.078125)
+
+

Which is weird because the board is not moving yet its acceleration is non-zero. What's going on? +This must be related to the gravity, right? Because the acceleration of gravity is 1 g. But the +gravity pulls objects downwards so the acceleration along the Z axis should be negative not positive +...

+

Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity +to the X or Y axis but the acceleration measured by the accelerometer is always pointing up.

+

What happens here is that the accelerometer is measuring the proper acceleration of the board not +the acceleration you are observing. This proper acceleration is the acceleration of the board as +seen from a observer that's in free fall. An observer that's in free fall is moving toward the +center of the the Earth with an acceleration of 1g; from its point of view the board is actually +moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the +proper acceleration is pointing up. This also means that if the board was in free fall, the +accelerometer would report a proper acceleration of zero. Please, don't try that at home.

+

Yes, physics is hard. Let's move on.

+

The challenge

+

To keep things simple, we'll measure the acceleration only in the X axis while the board remains +horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed +before which would be hard because that 1g could have X Y Z components depending on how the board +is oriented.

+

Here's what the punch-o-meter must do:

+
    +
  • By default, the app is not "observing" the acceleration of the board.
  • +
  • When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), +the app should start a new measurement.
  • +
  • During that measurement interval, the app should keep track of the maximum acceleration observed
  • +
  • After the measurement interval ends, the app must report the maximum acceleration observed. You +can report the value using the iprintln macro.
  • +
+

Give it a try and let me know how hard you can punch ;-).

+

My solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+#[allow(unused_imports)]
+use aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity};
+use m::Float;
+
+#[entry]
+fn main() -> ! {
+    const SENSITIVITY: f32 = 12. / (1 << 14) as f32;
+    const THRESHOLD: f32 = 0.5;
+
+    let (mut lsm303dlhc, mut delay, mono_timer, mut itm) = aux16::init();
+
+    lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap();
+
+    let measurement_time = mono_timer.frequency().0; // 1 second in ticks
+    let mut instant = None;
+    let mut max_g = 0.;
+    loop {
+        let g_x = f32::from(lsm303dlhc.accel().unwrap().x).abs() * SENSITIVITY;
+
+        match instant {
+            None => {
+                // If acceleration goes above a threshold, we start measuring
+                if g_x > THRESHOLD {
+                    iprintln!(&mut itm.stim[0], "START!");
+
+                    max_g = g_x;
+                    instant = Some(mono_timer.now());
+                }
+            }
+            // Still measuring
+            Some(ref instant) if instant.elapsed() < measurement_time => {
+                if g_x > max_g {
+                    max_g = g_x;
+                }
+            }
+            _ => {
+                // Report max value
+                iprintln!(&mut itm.stim[0], "Max acceleration: {}g", max_g);
+
+                // Measurement done
+                instant = None;
+
+                // Reset
+                max_g = 0.;
+            }
+        }
+
+        delay.delay_ms(50_u8);
+    }
+}
+

What's left for you to explore

+

We have barely scratched the surface! There's lots of stuff left for you to +explore.

+
+

NOTE: If you're reading this, and you'd like to help add examples or +exercises to the Discovery book for any of the items below, or any other +relevant embedded topics, we'd love to have your help!

+

Please open an issue if you would like to help, but need assistance or +mentoring for how to contribute this to the book, or open a Pull Request +adding the information!

+
+

Topics about embedded software

+

These topics discuss strategies for writing embedded software. Although many +problems can be solved in different ways, these sections talk about some +strategies, and when they make sense (or don't make sense) to use.

+

Multitasking

+

All our programs executed a single task. How could we achieve multitasking in a +system with no OS, and thus no threads. There are two main approaches to +multitasking: preemptive multitasking and cooperative multitasking.

+

In preemptive multitasking a task that's currently being executed can, at any point in time, be +preempted (interrupted) by another task. On preemption, the first task will be suspended and the +processor will instead execute the second task. At some point the first task will be resumed. +Microcontrollers provide hardware support for preemption in the form of interrupts.

+

In cooperative multitasking a task that's being executed will run until it reaches a suspension +point. When the processor reaches that suspension point it will stop executing the current task and +instead go and execute a different task. At some point the first task will be resumed. The main +difference between these two approaches to multitasking is that in cooperative multitasking yields +execution control at known suspension points instead of being forcefully preempted at any point of +its execution.

+

Sleeping

+

All our programs have been continuously polling peripherals to see if there's +anything that needs to be done. However, some times there's nothing to be done! +At those times, the microcontroller should "sleep".

+

When the processor sleeps, it stops executing instructions and this saves power. +It's almost always a good idea to save power so your microcontroller should be +sleeping as much as possible. But, how does it know when it has to wake up to +perform some action? "Interrupts" are one of the events that wake up the +microcontroller but there are others and the wfi and wfe are the +instructions that make the processor "sleep".

+ +

Microcontrollers (like our STM32F3) have many different capabilities. However, many share similar +capabilities that can be used to solve all sorts of different problems.

+

These topics discuss some of those capabilities, and how they can be used effectively +in embedded development.

+

Direct Memory Access (DMA).

+

This peripheral is a kind of asynchronous memcpy. So far our programs have +been pumping data, byte by byte, into peripherals like UART and I2C. This DMA +peripheral can be used to perform bulk transfers of data. Either from RAM to +RAM, from a peripheral, like a UART, to RAM or from RAM to a peripheral. You can +schedule a DMA transfer, like read 256 bytes from USART1 into this buffer, leave +it running in the background and then poll some register to see if it has +completed so you can do other stuff while the transfer is ongoing.

+

Interrupts

+

In order to interact with the real world, it is often necessary for the +microcontroller to respond immediately when some kind of event occurs.

+

Microcontrollers have the ability to be interrupted, meaning when a certain event +occurs, it will stop whatever it is doing at the moment, to instead respond to that +event. This can be very useful when we want to stop a motor when a button is pressed, +or measure a sensor when a timer finishes counting down.

+

Although these interrupts can be very useful, they can also be a bit difficult +to work with properly. We want to make sure that we respond to events quickly, +but also allow other work to continue as well.

+

In Rust, we model interrupts similar to the concept of threading on desktop Rust +programs. This means we also must think about the Rust concepts of Send and Sync +when sharing data between our main application, and code that executes as part of +handling an interrupt event.

+

Pulse Width Modulation (PWM)

+

In a nutshell, PWM is turning on something and then turning it off periodically +while keeping some proportion ("duty cycle") between the "on time" and the "off +time". When used on a LED with a sufficiently high frequency, this can be used +to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make +the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, +will make the LED much brighter (almost as if it were fully powered).

+

In general, PWM can be used to control how much power is given to some +electric device. With proper (power) electronics between a microcontroller and +an electrical motor, PWM can be used to control how much power is given to the +motor thus it can be used to control its torque and speed. Then you can add an +angular position sensor and you got yourself a closed loop controller that can +control the position of the motor at different loads.

+

Digital inputs

+

We have used the microcontroller pins as digital outputs, to drive LEDs. But +these pins can also be configured as digital inputs. As digital inputs, these +pins can read the binary state of switches (on/off) or buttons (pressed/not +pressed).

+

(spoilers reading the binary state of switches / buttons is not as +straightforward as it sounds ;-)

+

Analog-to-Digital Converters (ADC)

+

There are a lots of digital sensors out there. You can use a protocol like I2C +and SPI to read them. But analog sensors also exist! These sensors just output a +voltage level that's proportional to the magnitude they are sensing.

+

The ADC peripheral can be use to convert that "analog" voltage level, say 1.25 +Volts,into a "digital" number, say in the [0, 65535] range, that the processor +can use in its calculations.

+

Digital-to-Analog Converters (DAC)

+

As you might expect a DAC is exactly the opposite of ADC. You can write some +digital value into a register to produce a voltage in the [0, 3.3V] range +(assuming a 3.3V power supply) on some "analog" pin. When this analog pin is +connected to some appropriate electronics and the register is written to at some +constant, fast rate (frequency) with the right values you can produce sounds or +even music!

+

Real Time Clock (RTC)

+

This peripheral can be used to track time in "human format". Seconds, minutes, +hours, days, months and years. This peripheral handles the translation from +"ticks" to these human friendly units of time. It even handles leap years and +Daylight Save Time for you!

+

Other communication protocols

+

SPI, I2S, SMBUS, CAN, IrDA, Ethernet, USB, Bluetooth, etc.

+

Different applications use different communication protocols. User facing +applications usually have an USB connector because USB is an ubiquitous +protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN +"buses". Some digital sensors use SPI, others use I2C and others, SMBUS.

+

General Embedded-Relevant Topics

+

These topics cover items that are not specific to our device, or the hardware on +it. Instead, they discuss useful techniques that could be used on embedded +systems.

+

Gyroscopes

+

As part of our Punch-o-meter exercise, we used the Accelerometer to measure +changes in acceleration in three dimensions. Our board also features a sensor +called a Gyroscope, which allows us to measure changes in "spin" in three +dimensions.

+

This can be very useful when trying to build certain systems, such as a robot +that wants to avoid tipping over. Additionally, the data from a sensor like a +gyroscope can also be combined with data from accelerometer using a technique +called Sensor Fusion (see below for more information).

+

Servo and Stepper Motors

+

While some motors are used primarily just to spin in one direction or the other, +for example driving a remote control car forwards or backwards, it is sometimes +useful to measure more precisely how a motor rotates.

+

Our microcontroller can be used to drive Servo or Stepper motors, which allow +for more precise control of how many turns are being made by the motor, or +can even position the motor in one specific place, for example if we wanted to +move the arms of a clock to a particular direction.

+

Sensor fusion

+

The STM32F3DISCOVERY contains three motion sensors: an accelerometer, a +gyroscope and a magnetometer. On their own these measure: (proper) acceleration, +angular speed and (the Earth's) magnetic field. But these magnitudes can be +"fused" into something more useful: a "robust" measurement of the orientation of +the board. Where robust means with less measurement error than a single sensor +would be capable of.

+

This idea of deriving more reliable data from different sources is known as +sensor fusion.

+
+

So where to next? There are several options:

+
    +
  • You could check out the examples in the f3 board support crate. All those examples work for +the STM32F3DISCOVERY board you have.
  • +
+ +
    +
  • You could check out Real Time for The Masses. A very efficient preemptive multitasking framework +that supports task prioritization and dead lock free execution.
  • +
+
    +
  • You could try running Rust on a different development board. The easiest way to get started is to +use the cortex-m-quickstart Cargo project template.
  • +
+
    +
  • You could check out this blog post which describes how Rust type system can +prevent bugs in I/O configuration.
  • +
+
    +
  • You could check out my blog for miscellaneous topics about embedded development with Rust.
  • +
+
    +
  • You could check out the embedded-hal project which aims to build abstractions (traits) for all +the embedded I/O functionality commonly found on microcontrollers.
  • +
+
    +
  • You could join the Weekly driver initiative and help us write generic drivers on top of the +embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, +etc.)
  • +
+

General troubleshooting

+

OpenOCD problems

+

can't connect to OpenOCD - "Error: open failed"

+

Symptoms

+

Upon trying to establish a new connection with the device you get an error +that looks like this:

+
$ openocd -f (..)
+(..)
+Error: open failed
+in procedure 'init'
+in procedure 'ocd_bouncer'
+
+

Cause

+

The device is not (properly) connected or not the correct ST-LINK interface +configuration is used.

+

Fix

+

Linux:

+
    +
  • Check the USB connection using lsusb.
  • +
  • You may not have enough permission to open the device. Try again with sudo. +If that works, you can use these instructions to make OpenOCD work without +root privilege.
  • +
  • You might be using the wrong interface configuration for your ST-LINK. +Try interface/stlink-v2.cfg instead of interface/stlink-v2-1.cfg.
  • +
+

Windows:

+
    +
  • You are probably missing the ST-LINK USB driver. Installation instructions +here.
  • +
+

can't connect to OpenOCD - "Polling again in X00ms"

+

Symptoms

+

Upon trying to establish a new connection with the device you get an error +that looks like this:

+
$ openocd -f (..)
+(..)
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 100ms
+Info : Previous state query failed, trying to reconnect
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 300ms
+Info : Previous state query failed, trying to reconnect
+
+

Cause

+

The microcontroller may have get stuck in some tight infinite loop or it may be +continuously raising an exception, e.g. the exception handler is raising an +exception.

+

Fix

+
    +
  • Close OpenOCD, if running
  • +
  • Press and hold the reset (black) button
  • +
  • Launch the OpenOCD command
  • +
  • Now, release the reset button
  • +
+

OpenOCD connection lost - "Polling again in X00ms"

+

Symptoms

+

A running OpenOCD session suddenly errors with:

+
# openocd -f (..)
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 100ms
+Info : Previous state query failed, trying to reconnect
+Error: jtag status contains invalid mode value - communication failure
+Polling target stm32f3x.cpu failed, trying to reexamine
+Examination failed, GDB will be halted. Polling again in 300ms
+Info : Previous state query failed, trying to reconnect
+
+

Cause

+

The USB connection was lost.

+

Fix

+
    +
  • Close OpenOCD
  • +
  • Disconnect and re-connect the USB cable.
  • +
  • Re-launch OpenOCD
  • +
+

Can't flash the device - "Ignoring packet error, continuing..."

+

Symptoms

+

While flashing the device, you get:

+
$ arm-none-eabi-gdb $file
+Start address 0x8000194, load size 31588
+Transfer rate: 22 KB/sec, 5264 bytes/write.
+Ignoring packet error, continuing...
+Ignoring packet error, continuing...
+
+

Cause

+

Closed itmdump while a program that "printed" to the ITM was running. The +current GDB session will appear to work normally, just without ITM output but +the next GDB session will error with the message that was shown in the previous +section.

+

Or, itmdump was called after the monitor tpiu was issued thus making +itmdump delete the file / named-pipe that OpenOCD was writing to.

+

Fix

+
    +
  • Close/kill GDB, OpenOCD and itmdump
  • +
  • Remove the file / named-pipe that itmdump was using (for example, +itm.txt).
  • +
  • Launch OpenOCD
  • +
  • Then, launch itmdump
  • +
  • Then, launch the GDB session that executes the monitor tpiu command.
  • +
+

can't connect to OpenOCD - "Error: couldn't bind [telnet] to socket: Address already in use"

+

Symptoms

+

Upon trying to establish a new connection with the device you get an error +that looks something like this:

+
$ openocd -f (..)
+(..)
+Error: couldn't bind telnet to socket: Address already in use
+
+

Cause

+

One or more of the ports OpenOCD requires access to, 3333, 4444, or 6666, is in use by another process. Each of these ports is used for another aspect: 3333 for gdb, 4444 for telnet, 6666 for remote procedure call (RPC) commands to TCL

+

Fix

+

You can go two routes for fixing this. A) Kill any process that's using one of those ports. B) Specify different ports you know to be free for OpenOCD to use.

+

Solution A

+

Mac:

+
    +
  • Get a list of processes using ports by running sudo lsof -PiTCP -sTCP:LISTEN
  • +
  • Kill the process(es) blocking the key ports by noting their pid(s) and running kill [pid] for each. (Assuming you can confirm they're not running anything mission-critical on your machine!)
  • +
+

Solution B

+

All:

+
    +
  • Send configuration details to OpenOCD when starting it up so that it uses a different port from the default for any of the processes.
  • +
  • For example, to do its telnet features on 4441 instead of the default 4444, you would run openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg -c "telnet_port 4441"
  • +
  • More details on OpenOCD's Configuration Stage can be found in their official docs online.
  • +
+

Cargo problems

+

"can't find crate for core"

+

Symptoms

+
   Compiling volatile-register v0.1.2
+   Compiling rlibc v1.0.0
+   Compiling r0 v0.1.0
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+Build failed, waiting for other jobs to finish...
+Build failed, waiting for other jobs to finish...
+error: Could not compile `r0`.
+
+To learn more, run the command again with --verbose.
+
+

Cause

+

You are using a toolchain older than nightly-2018-04-08 and forgot to call rustup target add thumbv7em-none-eabihf.

+

Fix

+

Update your nightly and install the thumbv7em-none-eabihf target.

+
$ rustup update nightly
+
+$ rustup target add thumbv7em-none-eabihf
+
+

How to use GDB

+

Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached to an OpenOCD session.

+

General Debugging

+
+

NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!

+
+

Dealing with Breakpoints

+
    +
  • break $location: Set a breakpoint at a place in your code. The value of $location can include: +
      +
    • break *main - Break on the exact address of the function main
    • +
    • break *0x080012f2 - Break on the exact memory location 0x080012f2
    • +
    • break 123 - Break on line 123 of the currently displayed file
    • +
    • break main.rs:123 - Break on line 123 of the file main.rs
    • +
    +
  • +
  • info break: Display current breakpoints
  • +
  • delete: Delete all breakpoints +
      +
    • delete $n: Delete breakpoint $n (n being a number. For example: delete $2)
    • +
    +
  • +
  • clear: Delete breakpoint at next instruction +
      +
    • clear main.rs:$function: Delete breakpoint at entry of $function in main.rs
    • +
    • clear main.rs:123: Delete breakpoint on line 123 of main.rs
    • +
    +
  • +
  • enable: Enable all set breakpoints +
      +
    • enable $n: Enable breakpoint $n
    • +
    +
  • +
  • disable: Disable all set breakpoints +
      +
    • disable $n: Disable breakpoint $n
    • +
    +
  • +
+

Controlling Execution

+
    +
  • continue: Begin or continue execution of your program
  • +
  • next: Execute the next line of your program +
      +
    • next $n: Repeat next $n number times
    • +
    +
  • +
  • nexti: Same as next but with machine instructions instead
  • +
  • step: Execute the next line, if the next line includes a call to another function, step into that code +
      +
    • step $n: Repeat step $n number times
    • +
    +
  • +
  • stepi: Same as step but with machine instructions instead
  • +
  • jump $location: Resume execution at specified location: +
      +
    • jump 123: Resume execution at line 123
    • +
    • jump 0x080012f2: Resume execution at address 0x080012f2
    • +
    +
  • +
+

Printing Information

+
    +
  • print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: +
    x: hexadecimal 
    +d: signed decimal
    +u: unsigned decimal
    +o: octal
    +t: binary
    +a: address
    +c: character
    +f: floating point
    +
    +
      +
    • print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010)
    • +
    +
  • +
  • x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, $u unit size (bytes, halfwords, words, etc), $f any print format defined above +
      +
    • x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4
    • +
    • x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing
    • +
    +
  • +
  • disassemble $location +
      +
    • disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction
    • +
    +
  • +
+

Looking at the Symbol Table

+
    +
  • info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions +
      +
    • info functions main: Print names and types of defined functions that contain the word main
    • +
    +
  • +
  • info address $symbol: Print where $symbol is stored in memory +
      +
    • info address GPIOC: Print the memory address of the variable GPIOC
    • +
    +
  • +
  • info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables
  • +
  • ptype $data: Print more detailed information about $data +
      +
    • ptype cp: Print detailed type information about the variable cp
    • +
    +
  • +
+

Poking around the Program Stack

+
    +
  • backtrace $n: Print trace of $n frames, or omit $n to print all frames +
      +
    • backtrace 2: Print trace of first 2 frames
    • +
    +
  • +
  • frame $n: Select frame with number or address $n, omit $n to display current frame
  • +
  • up $n: Select frame $n frames up
  • +
  • down $n: Select frame $n frames down
  • +
  • info frame $address: Describe frame at $address, omit $address for currently selected frame
  • +
  • info args: Print arguments of selected frame
  • +
  • info registers $r: Print the value of register $r in selected frame, omit $r for all registers +
      +
    • info registers $sp: Print the value of the stack pointer register $sp in the current frame
    • +
    +
  • +
+

Controlling OpenOCD Remotely

+
    +
  • monitor reset run: Reset the CPU, starting execution over again +
      +
    • monitor reset: Same as above
    • +
    +
  • +
  • monitor reset init: Reset the CPU, halting execution at the start
  • +
  • monitor targets: Display information and state of current target
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + +
+ + diff --git a/f3discovery/searcher.js b/f3discovery/searcher.js new file mode 100644 index 000000000..dc03e0a02 --- /dev/null +++ b/f3discovery/searcher.js @@ -0,0 +1,483 @@ +"use strict"; +window.search = window.search || {}; +(function search(search) { + // Search functionality + // + // You can use !hasFocus() to prevent keyhandling in your key + // event handlers while the user is typing their search. + + if (!Mark || !elasticlunr) { + return; + } + + //IE 11 Compatibility from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + if (!String.prototype.startsWith) { + String.prototype.startsWith = function(search, pos) { + return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; + }; + } + + var search_wrap = document.getElementById('search-wrapper'), + searchbar = document.getElementById('searchbar'), + searchbar_outer = document.getElementById('searchbar-outer'), + searchresults = document.getElementById('searchresults'), + searchresults_outer = document.getElementById('searchresults-outer'), + searchresults_header = document.getElementById('searchresults-header'), + searchicon = document.getElementById('search-toggle'), + content = document.getElementById('content'), + + searchindex = null, + doc_urls = [], + results_options = { + teaser_word_count: 30, + limit_results: 30, + }, + search_options = { + bool: "AND", + expand: true, + fields: { + title: {boost: 1}, + body: {boost: 1}, + breadcrumbs: {boost: 0} + } + }, + mark_exclude = [], + marker = new Mark(content), + current_searchterm = "", + URL_SEARCH_PARAM = 'search', + URL_MARK_PARAM = 'highlight', + teaser_count = 0, + + SEARCH_HOTKEY_KEYCODE = 83, + ESCAPE_KEYCODE = 27, + DOWN_KEYCODE = 40, + UP_KEYCODE = 38, + SELECT_KEYCODE = 13; + + function hasFocus() { + return searchbar === document.activeElement; + } + + function removeChildren(elem) { + while (elem.firstChild) { + elem.removeChild(elem.firstChild); + } + } + + // Helper to parse a url into its building blocks. + function parseURL(url) { + var a = document.createElement('a'); + a.href = url; + return { + source: url, + protocol: a.protocol.replace(':',''), + host: a.hostname, + port: a.port, + params: (function(){ + var ret = {}; + var seg = a.search.replace(/^\?/,'').split('&'); + var len = seg.length, i = 0, s; + for (;i': '>', + '"': '"', + "'": ''' + }; + var repl = function(c) { return MAP[c]; }; + return function(s) { + return s.replace(/[&<>'"]/g, repl); + }; + })(); + + function formatSearchMetric(count, searchterm) { + if (count == 1) { + return count + " search result for '" + searchterm + "':"; + } else if (count == 0) { + return "No search results for '" + searchterm + "'."; + } else { + return count + " search results for '" + searchterm + "':"; + } + } + + function formatSearchResult(result, searchterms) { + var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms); + teaser_count++; + + // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor + var url = doc_urls[result.ref].split("#"); + if (url.length == 1) { // no anchor found + url.push(""); + } + + // encodeURIComponent escapes all chars that could allow an XSS except + // for '. Due to that we also manually replace ' with its url-encoded + // representation (%27). + var searchterms = encodeURIComponent(searchterms.join(" ")).replace(/\'/g, "%27"); + + return '' + result.doc.breadcrumbs + '' + + '' + + teaser + ''; + } + + function makeTeaser(body, searchterms) { + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in . + var stemmed_searchterms = searchterms.map(function(w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var searchterm_weight = 40; + var weighted = []; // contains elements of ["word", weight, index_in_document] + // split in sentences, then words + var sentences = body.toLowerCase().split('. '); + var index = 0; + var value = 0; + var searchterm_found = false; + for (var sentenceindex in sentences) { + var words = sentences[sentenceindex].split(' '); + value = 8; + for (var wordindex in words) { + var word = words[wordindex]; + if (word.length > 0) { + for (var searchtermindex in stemmed_searchterms) { + if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) { + value = searchterm_weight; + searchterm_found = true; + } + }; + weighted.push([word, value, index]); + value = 2; + } + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + }; + index += 1; // because we split at a two-char boundary '. ' + }; + + if (weighted.length == 0) { + return body; + } + + var window_weight = []; + var window_size = Math.min(weighted.length, results_options.teaser_word_count); + + var cur_sum = 0; + for (var wordindex = 0; wordindex < window_size; wordindex++) { + cur_sum += weighted[wordindex][1]; + }; + window_weight.push(cur_sum); + for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) { + cur_sum -= weighted[wordindex][1]; + cur_sum += weighted[wordindex + window_size][1]; + window_weight.push(cur_sum); + }; + + if (searchterm_found) { + var max_sum = 0; + var max_sum_window_index = 0; + // backwards + for (var i = window_weight.length - 1; i >= 0; i--) { + if (window_weight[i] > max_sum) { + max_sum = window_weight[i]; + max_sum_window_index = i; + } + }; + } else { + max_sum_window_index = 0; + } + + // add around searchterms + var teaser_split = []; + var index = weighted[max_sum_window_index][2]; + for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) { + var word = weighted[i]; + if (index < word[2]) { + // missing text from index to start of `word` + teaser_split.push(body.substring(index, word[2])); + index = word[2]; + } + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + index = word[2] + word[0].length; + teaser_split.push(body.substring(word[2], index)); + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + }; + + return teaser_split.join(''); + } + + function init(config) { + results_options = config.results_options; + search_options = config.search_options; + searchbar_outer = config.searchbar_outer; + doc_urls = config.doc_urls; + searchindex = elasticlunr.Index.load(config.index); + + // Set up events + searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false); + searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false); + document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false); + // If the user uses the browser buttons, do the same as if a reload happened + window.onpopstate = function(e) { doSearchOrMarkFromUrl(); }; + // Suppress "submit" events so the page doesn't reload when the user presses Enter + document.addEventListener('submit', function(e) { e.preventDefault(); }, false); + + // If reloaded, do the search or mark again, depending on the current url parameters + doSearchOrMarkFromUrl(); + } + + function unfocusSearchbar() { + // hacky, but just focusing a div only works once + var tmp = document.createElement('input'); + tmp.setAttribute('style', 'position: absolute; opacity: 0;'); + searchicon.appendChild(tmp); + tmp.focus(); + tmp.remove(); + } + + // On reload or browser history backwards/forwards events, parse the url and do search or mark + function doSearchOrMarkFromUrl() { + // Check current URL for search request + var url = parseURL(window.location.href); + if (url.params.hasOwnProperty(URL_SEARCH_PARAM) + && url.params[URL_SEARCH_PARAM] != "") { + showSearch(true); + searchbar.value = decodeURIComponent( + (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20')); + searchbarKeyUpHandler(); // -> doSearch() + } else { + showSearch(false); + } + + if (url.params.hasOwnProperty(URL_MARK_PARAM)) { + var words = decodeURIComponent(url.params[URL_MARK_PARAM]).split(' '); + marker.mark(words, { + exclude: mark_exclude + }); + + var markers = document.querySelectorAll("mark"); + function hide() { + for (var i = 0; i < markers.length; i++) { + markers[i].classList.add("fade-out"); + window.setTimeout(function(e) { marker.unmark(); }, 300); + } + } + for (var i = 0; i < markers.length; i++) { + markers[i].addEventListener('click', hide); + } + } + } + + // Eventhandler for keyevents on `document` + function globalKeyHandler(e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text' || !hasFocus() && /^(?:input|select|textarea)$/i.test(e.target.nodeName)) { return; } + + if (e.keyCode === ESCAPE_KEYCODE) { + e.preventDefault(); + searchbar.classList.remove("active"); + setSearchUrlParameters("", + (searchbar.value.trim() !== "") ? "push" : "replace"); + if (hasFocus()) { + unfocusSearchbar(); + } + showSearch(false); + marker.unmark(); + } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) { + e.preventDefault(); + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) { + e.preventDefault(); + unfocusSearchbar(); + searchresults.firstElementChild.classList.add("focus"); + } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE + || e.keyCode === UP_KEYCODE + || e.keyCode === SELECT_KEYCODE)) { + // not `:focus` because browser does annoying scrolling + var focused = searchresults.querySelector("li.focus"); + if (!focused) return; + e.preventDefault(); + if (e.keyCode === DOWN_KEYCODE) { + var next = focused.nextElementSibling; + if (next) { + focused.classList.remove("focus"); + next.classList.add("focus"); + } + } else if (e.keyCode === UP_KEYCODE) { + focused.classList.remove("focus"); + var prev = focused.previousElementSibling; + if (prev) { + prev.classList.add("focus"); + } else { + searchbar.select(); + } + } else { // SELECT_KEYCODE + window.location.assign(focused.querySelector('a')); + } + } + } + + function showSearch(yes) { + if (yes) { + search_wrap.classList.remove('hidden'); + searchicon.setAttribute('aria-expanded', 'true'); + } else { + search_wrap.classList.add('hidden'); + searchicon.setAttribute('aria-expanded', 'false'); + var results = searchresults.children; + for (var i = 0; i < results.length; i++) { + results[i].classList.remove("focus"); + } + } + } + + function showResults(yes) { + if (yes) { + searchresults_outer.classList.remove('hidden'); + } else { + searchresults_outer.classList.add('hidden'); + } + } + + // Eventhandler for search icon + function searchIconClickHandler() { + if (search_wrap.classList.contains('hidden')) { + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else { + showSearch(false); + } + } + + // Eventhandler for keyevents while the searchbar is focused + function searchbarKeyUpHandler() { + var searchterm = searchbar.value.trim(); + if (searchterm != "") { + searchbar.classList.add("active"); + doSearch(searchterm); + } else { + searchbar.classList.remove("active"); + showResults(false); + removeChildren(searchresults); + } + + setSearchUrlParameters(searchterm, "push_if_new_search_else_replace"); + + // Remove marks + marker.unmark(); + } + + // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor . + // `action` can be one of "push", "replace", "push_if_new_search_else_replace" + // and replaces or pushes a new browser history item. + // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet. + function setSearchUrlParameters(searchterm, action) { + var url = parseURL(window.location.href); + var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM); + if (searchterm != "" || action == "push_if_new_search_else_replace") { + url.params[URL_SEARCH_PARAM] = searchterm; + delete url.params[URL_MARK_PARAM]; + url.hash = ""; + } else { + delete url.params[URL_MARK_PARAM]; + delete url.params[URL_SEARCH_PARAM]; + } + // A new search will also add a new history item, so the user can go back + // to the page prior to searching. A updated search term will only replace + // the url. + if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) { + history.pushState({}, document.title, renderURL(url)); + } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) { + history.replaceState({}, document.title, renderURL(url)); + } + } + + function doSearch(searchterm) { + + // Don't search the same twice + if (current_searchterm == searchterm) { return; } + else { current_searchterm = searchterm; } + + if (searchindex == null) { return; } + + // Do the actual search + var results = searchindex.search(searchterm, search_options); + var resultcount = Math.min(results.length, results_options.limit_results); + + // Display search metrics + searchresults_header.innerText = formatSearchMetric(resultcount, searchterm); + + // Clear and insert results + var searchterms = searchterm.split(' '); + removeChildren(searchresults); + for(var i = 0; i < resultcount ; i++){ + var resultElem = document.createElement('li'); + resultElem.innerHTML = formatSearchResult(results[i], searchterms); + searchresults.appendChild(resultElem); + } + + // Display results + showResults(true); + } + + fetch(path_to_root + 'searchindex.json') + .then(response => response.json()) + .then(json => init(json)) + .catch(error => { // Try to load searchindex.js if fetch failed + var script = document.createElement('script'); + script.src = path_to_root + 'searchindex.js'; + script.onload = () => init(window.search); + document.head.appendChild(script); + }); + + // Exported functions + search.hasFocus = hasFocus; +})(window.search); diff --git a/f3discovery/searchindex.js b/f3discovery/searchindex.js new file mode 100644 index 000000000..689a29b4c --- /dev/null +++ b/f3discovery/searchindex.js @@ -0,0 +1 @@ +Object.assign(window.search, {"doc_urls":["index.html#discovery","index.html#scope","index.html#approach","index.html#non-goals","index.html#reporting-problems","index.html#other-embedded-rust-resources","index.html#sponsored-by","01-background/index.html#background","01-background/index.html#whats-a-microcontroller","01-background/index.html#what-can-you-do-with-a-microcontroller","01-background/index.html#when-should-i-use-a-microcontroller","01-background/index.html#when-should-i--not--use-a-microcontroller","01-background/index.html#why-use-rust-and-not-c","01-background/index.html#why-should-i-not-use-rust","02-requirements/index.html#hardwareknowledge-requirements","03-setup/index.html#setting-up-a-development-environment","03-setup/index.html#documentation","03-setup/index.html#tools","03-setup/index.html#rustc--cargo","03-setup/index.html#itmdump","03-setup/index.html#cargo-binutils","03-setup/index.html#os-specific-instructions","03-setup/linux.html#linux","03-setup/linux.html#required-packages","03-setup/linux.html#ubuntu-1804-or-newer--debian-stretch-or-newer","03-setup/linux.html#ubuntu-1404-and-1604","03-setup/linux.html#fedora-23-or-newer","03-setup/linux.html#arch-linux","03-setup/linux.html#other-distros","03-setup/linux.html#optional-packages","03-setup/linux.html#ubuntu--debian","03-setup/linux.html#fedora","03-setup/linux.html#arch-linux-1","03-setup/linux.html#udev-rules","03-setup/linux.html#create-etcudevrulesd99-openocdrules","03-setup/linux.html#reload-the-udev-rules-with","03-setup/windows.html#windows","03-setup/windows.html#arm-none-eabi-gdb","03-setup/windows.html#openocd","03-setup/windows.html#putty","03-setup/windows.html#st-link-usb-driver","03-setup/macos.html#macos","03-setup/verify.html#verify-the-installation","03-setup/verify.html#linux-only","03-setup/verify.html#verify-permissions","03-setup/verify.html#verify-openocd-connection","03-setup/verify.html#nix","03-setup/verify.html#windows","03-setup/verify.html#all","04-meet-your-hardware/index.html#meet-your-hardware","04-meet-your-hardware/index.html#stm32f3discovery-the-f3","04-meet-your-hardware/index.html#stm32f303vct6-the-stm32f3","04-meet-your-hardware/index.html#arm-cortex-m4","04-meet-your-hardware/index.html#the-serial-module","04-meet-your-hardware/index.html#the-bluetooth-module","05-led-roulette/index.html#led-roulette","05-led-roulette/build-it.html#build-it","05-led-roulette/flash-it.html#flash-it","05-led-roulette/flash-it.html#for-nix--macos","05-led-roulette/flash-it.html#for-windows--note--substitute-c-for-the-actual-openocd-path","05-led-roulette/flash-it.html#execute-gdb","05-led-roulette/flash-it.html#failing-case","05-led-roulette/flash-it.html#successful-case","05-led-roulette/flash-it.html#update-cargoconfigtoml","05-led-roulette/flash-it.html#flash-the-device","05-led-roulette/debug-it.html#debug-it","05-led-roulette/the-led-and-delay-abstractions.html#the-led-and-delay-abstractions","05-led-roulette/the-challenge.html#the-challenge","05-led-roulette/the-challenge.html#fork-the-discovery-book","05-led-roulette/my-solution.html#my-solution","06-hello-world/index.html#hello-world","06-hello-world/panic.html#panic","07-registers/index.html#registers","07-registers/index.html#an-aside-leds-digital-outputs-and-voltage-levels","07-registers/rtrm.html#rtrm-reading-the-reference-manual","07-registers/optimization.html#misoptimization","07-registers/bad-address.html#0xbaaaaaad-address","07-registers/spooky-action-at-a-distance.html#spooky-action-at-a-distance","07-registers/type-safe-manipulation.html#type-safe-manipulation","08-leds-again/index.html#leds-again","08-leds-again/power.html#power","08-leds-again/configuration.html#configuration","08-leds-again/the-solution.html#the-solution","09-clocks-and-timers/index.html#clocks-and-timers","09-clocks-and-timers/for-loop-delays.html#for-loop-delays","09-clocks-and-timers/nop.html#nop","09-clocks-and-timers/one-shot-timer.html#one-shot-timer","09-clocks-and-timers/initialization.html#initialization","09-clocks-and-timers/busy-waiting.html#busy-waiting","09-clocks-and-timers/putting-it-all-together.html#putting-it-all-together","10-serial-communication/index.html#serial-communication","10-serial-communication/nix-tooling.html#nix-tooling","10-serial-communication/nix-tooling.html#newer-revisions-of-the-discovery-board","10-serial-communication/nix-tooling.html#older-revisions-of-the-discovery-board--external-serial-module","10-serial-communication/nix-tooling.html#all-revisions-minicom","10-serial-communication/nix-tooling.html#minicom-commands","10-serial-communication/windows-tooling.html#windows-tooling","10-serial-communication/loopbacks.html#loopbacks","10-serial-communication/loopbacks.html#older-board-revision--external-serial-module","10-serial-communication/loopbacks.html#newer-board-revision","11-usart/index.html#usart","11-usart/index.html#newer-board-revisions","11-usart/index.html#older-board-revisions--external-serial-module","11-usart/send-a-single-byte.html#send-a-single-byte","11-usart/send-a-string.html#send-a-string","11-usart/buffer-overrun.html#overruns","11-usart/uprintln.html#uprintln","11-usart/receive-a-single-byte.html#receive-a-single-byte","11-usart/echo-server.html#echo-server","11-usart/reverse-a-string.html#reverse-a-string","11-usart/my-solution.html#my-solution","12-bluetooth-setup/index.html#bluetooth-setup","12-bluetooth-setup/linux.html#linux","12-bluetooth-setup/linux.html#power-up","12-bluetooth-setup/linux.html#scan","12-bluetooth-setup/linux.html#pair","12-bluetooth-setup/linux.html#rfcomm-device","12-bluetooth-setup/loopback.html#loopback-again","12-bluetooth-setup/at-commands.html#at-commands","12-bluetooth-setup/at-commands.html#sanity-check","12-bluetooth-setup/at-commands.html#rename-the-device","12-bluetooth-setup/at-commands.html#query-for-the-current-baud-rate-of-the-bluetooth-module","12-bluetooth-setup/at-commands.html#change-the-baud-rate","13-serial-over-bluetooth/index.html#serial-over-bluetooth","14-i2c/index.html#i2c","14-i2c/the-general-protocol.html#general-protocol","14-i2c/the-general-protocol.html#master---slave","14-i2c/the-general-protocol.html#master---slave-1","14-i2c/lsm303dlhc.html#lsm303dlhc","14-i2c/read-a-single-register.html#read-a-single-register","14-i2c/the-solution.html#the-solution","14-i2c/read-several-registers.html#read-several-registers","15-led-compass/index.html#led-compass","15-led-compass/take-1.html#take-1","15-led-compass/solution-1.html#solution-1","15-led-compass/take-2.html#take-2","15-led-compass/solution-2.html#solution-2","15-led-compass/magnitude.html#magnitude","15-led-compass/calibration.html#calibration","16-punch-o-meter/index.html#punch-o-meter","16-punch-o-meter/gravity-is-up.html#gravity-is-up","16-punch-o-meter/the-challenge.html#the-challenge","16-punch-o-meter/my-solution.html#my-solution","explore.html#whats-left-for-you-to-explore","explore.html#topics-about-embedded-software","explore.html#multitasking","explore.html#sleeping","explore.html#topics-related-to-microcontroller-capabilities","explore.html#direct-memory-access-dma","explore.html#interrupts","explore.html#pulse-width-modulation-pwm","explore.html#digital-inputs","explore.html#analog-to-digital-converters-adc","explore.html#digital-to-analog-converters-dac","explore.html#real-time-clock-rtc","explore.html#other-communication-protocols","explore.html#general-embedded-relevant-topics","explore.html#gyroscopes","explore.html#servo-and-stepper-motors","explore.html#sensor-fusion","appendix/1-general-troubleshooting/index.html#general-troubleshooting","appendix/1-general-troubleshooting/index.html#openocd-problems","appendix/1-general-troubleshooting/index.html#cant-connect-to-openocd---error-open-failed","appendix/1-general-troubleshooting/index.html#cant-connect-to-openocd---polling-again-in-x00ms","appendix/1-general-troubleshooting/index.html#openocd-connection-lost---polling-again-in-x00ms","appendix/1-general-troubleshooting/index.html#cant-flash-the-device---ignoring-packet-error-continuing","appendix/1-general-troubleshooting/index.html#cant-connect-to-openocd---error-couldnt-bind-telnet-to-socket-address-already-in-use","appendix/1-general-troubleshooting/index.html#cargo-problems","appendix/1-general-troubleshooting/index.html#cant-find-crate-for-core","appendix/2-how-to-use-gdb/index.html#how-to-use-gdb","appendix/2-how-to-use-gdb/index.html#general-debugging","appendix/2-how-to-use-gdb/index.html#dealing-with-breakpoints","appendix/2-how-to-use-gdb/index.html#controlling-execution","appendix/2-how-to-use-gdb/index.html#printing-information","appendix/2-how-to-use-gdb/index.html#looking-at-the-symbol-table","appendix/2-how-to-use-gdb/index.html#poking-around-the-program-stack","appendix/2-how-to-use-gdb/index.html#controlling-openocd-remotely"],"index":{"documentStore":{"docInfo":{"0":{"body":18,"breadcrumbs":2,"title":1},"1":{"body":59,"breadcrumbs":2,"title":1},"10":{"body":113,"breadcrumbs":3,"title":2},"100":{"body":61,"breadcrumbs":2,"title":1},"101":{"body":51,"breadcrumbs":4,"title":3},"102":{"body":174,"breadcrumbs":7,"title":6},"103":{"body":84,"breadcrumbs":7,"title":3},"104":{"body":51,"breadcrumbs":5,"title":2},"105":{"body":354,"breadcrumbs":4,"title":1},"106":{"body":200,"breadcrumbs":3,"title":1},"107":{"body":115,"breadcrumbs":7,"title":3},"108":{"body":27,"breadcrumbs":5,"title":2},"109":{"body":85,"breadcrumbs":5,"title":2},"11":{"body":34,"breadcrumbs":3,"title":2},"110":{"body":59,"breadcrumbs":3,"title":1},"111":{"body":134,"breadcrumbs":4,"title":2},"112":{"body":15,"breadcrumbs":4,"title":1},"113":{"body":122,"breadcrumbs":5,"title":2},"114":{"body":5,"breadcrumbs":4,"title":1},"115":{"body":24,"breadcrumbs":4,"title":1},"116":{"body":43,"breadcrumbs":5,"title":2},"117":{"body":74,"breadcrumbs":5,"title":2},"118":{"body":174,"breadcrumbs":4,"title":1},"119":{"body":10,"breadcrumbs":5,"title":2},"12":{"body":51,"breadcrumbs":4,"title":3},"120":{"body":2,"breadcrumbs":5,"title":2},"121":{"body":6,"breadcrumbs":9,"title":6},"122":{"body":2,"breadcrumbs":6,"title":3},"123":{"body":119,"breadcrumbs":6,"title":3},"124":{"body":160,"breadcrumbs":2,"title":1},"125":{"body":17,"breadcrumbs":5,"title":2},"126":{"body":55,"breadcrumbs":5,"title":2},"127":{"body":53,"breadcrumbs":5,"title":2},"128":{"body":119,"breadcrumbs":3,"title":1},"129":{"body":232,"breadcrumbs":7,"title":3},"13":{"body":44,"breadcrumbs":3,"title":2},"130":{"body":122,"breadcrumbs":3,"title":1},"131":{"body":325,"breadcrumbs":7,"title":3},"132":{"body":190,"breadcrumbs":4,"title":2},"133":{"body":191,"breadcrumbs":6,"title":2},"134":{"body":69,"breadcrumbs":6,"title":2},"135":{"body":143,"breadcrumbs":6,"title":2},"136":{"body":87,"breadcrumbs":6,"title":2},"137":{"body":230,"breadcrumbs":4,"title":1},"138":{"body":271,"breadcrumbs":4,"title":1},"139":{"body":61,"breadcrumbs":6,"title":3},"14":{"body":323,"breadcrumbs":4,"title":2},"140":{"body":217,"breadcrumbs":7,"title":2},"141":{"body":77,"breadcrumbs":5,"title":1},"142":{"body":97,"breadcrumbs":5,"title":1},"143":{"body":40,"breadcrumbs":6,"title":3},"144":{"body":21,"breadcrumbs":6,"title":3},"145":{"body":99,"breadcrumbs":4,"title":1},"146":{"body":52,"breadcrumbs":4,"title":1},"147":{"body":22,"breadcrumbs":7,"title":4},"148":{"body":45,"breadcrumbs":7,"title":4},"149":{"body":82,"breadcrumbs":4,"title":1},"15":{"body":16,"breadcrumbs":8,"title":4},"150":{"body":87,"breadcrumbs":7,"title":4},"151":{"body":30,"breadcrumbs":5,"title":2},"152":{"body":37,"breadcrumbs":7,"title":4},"153":{"body":37,"breadcrumbs":7,"title":4},"154":{"body":27,"breadcrumbs":7,"title":4},"155":{"body":41,"breadcrumbs":5,"title":2},"156":{"body":13,"breadcrumbs":7,"title":4},"157":{"body":50,"breadcrumbs":4,"title":1},"158":{"body":48,"breadcrumbs":6,"title":3},"159":{"body":160,"breadcrumbs":5,"title":2},"16":{"body":59,"breadcrumbs":5,"title":1},"160":{"body":0,"breadcrumbs":4,"title":2},"161":{"body":0,"breadcrumbs":4,"title":2},"162":{"body":74,"breadcrumbs":8,"title":6},"163":{"body":99,"breadcrumbs":8,"title":6},"164":{"body":81,"breadcrumbs":8,"title":6},"165":{"body":90,"breadcrumbs":9,"title":7},"166":{"body":139,"breadcrumbs":13,"title":11},"167":{"body":0,"breadcrumbs":4,"title":2},"168":{"body":93,"breadcrumbs":6,"title":4},"169":{"body":15,"breadcrumbs":4,"title":2},"17":{"body":113,"breadcrumbs":5,"title":1},"170":{"body":32,"breadcrumbs":4,"title":2},"171":{"body":94,"breadcrumbs":4,"title":2},"172":{"body":66,"breadcrumbs":4,"title":2},"173":{"body":100,"breadcrumbs":4,"title":2},"174":{"body":70,"breadcrumbs":5,"title":3},"175":{"body":83,"breadcrumbs":6,"title":4},"176":{"body":28,"breadcrumbs":5,"title":3},"18":{"body":32,"breadcrumbs":6,"title":2},"19":{"body":10,"breadcrumbs":5,"title":1},"2":{"body":38,"breadcrumbs":2,"title":1},"20":{"body":102,"breadcrumbs":6,"title":2},"21":{"body":9,"breadcrumbs":7,"title":3},"22":{"body":6,"breadcrumbs":6,"title":1},"23":{"body":0,"breadcrumbs":7,"title":2},"24":{"body":19,"breadcrumbs":11,"title":6},"25":{"body":23,"breadcrumbs":8,"title":3},"26":{"body":6,"breadcrumbs":8,"title":3},"27":{"body":23,"breadcrumbs":7,"title":2},"28":{"body":72,"breadcrumbs":6,"title":1},"29":{"body":0,"breadcrumbs":7,"title":2},"3":{"body":64,"breadcrumbs":3,"title":2},"30":{"body":5,"breadcrumbs":7,"title":2},"31":{"body":5,"breadcrumbs":6,"title":1},"32":{"body":7,"breadcrumbs":7,"title":2},"33":{"body":65,"breadcrumbs":7,"title":2},"34":{"body":34,"breadcrumbs":8,"title":3},"35":{"body":15,"breadcrumbs":8,"title":3},"36":{"body":0,"breadcrumbs":6,"title":1},"37":{"body":43,"breadcrumbs":9,"title":4},"38":{"body":47,"breadcrumbs":6,"title":1},"39":{"body":7,"breadcrumbs":6,"title":1},"4":{"body":10,"breadcrumbs":3,"title":2},"40":{"body":25,"breadcrumbs":9,"title":4},"41":{"body":23,"breadcrumbs":6,"title":1},"42":{"body":5,"breadcrumbs":8,"title":2},"43":{"body":0,"breadcrumbs":7,"title":1},"44":{"body":154,"breadcrumbs":8,"title":2},"45":{"body":76,"breadcrumbs":9,"title":3},"46":{"body":33,"breadcrumbs":7,"title":1},"47":{"body":37,"breadcrumbs":7,"title":1},"48":{"body":150,"breadcrumbs":6,"title":0},"49":{"body":5,"breadcrumbs":4,"title":2},"5":{"body":22,"breadcrumbs":4,"title":3},"50":{"body":53,"breadcrumbs":4,"title":2},"51":{"body":126,"breadcrumbs":4,"title":2},"52":{"body":137,"breadcrumbs":5,"title":3},"53":{"body":39,"breadcrumbs":4,"title":2},"54":{"body":13,"breadcrumbs":4,"title":2},"55":{"body":230,"breadcrumbs":4,"title":2},"56":{"body":535,"breadcrumbs":4,"title":1},"57":{"body":67,"breadcrumbs":4,"title":1},"58":{"body":9,"breadcrumbs":5,"title":2},"59":{"body":286,"breadcrumbs":10,"title":7},"6":{"body":19,"breadcrumbs":2,"title":1},"60":{"body":94,"breadcrumbs":5,"title":2},"61":{"body":43,"breadcrumbs":5,"title":2},"62":{"body":133,"breadcrumbs":5,"title":2},"63":{"body":365,"breadcrumbs":5,"title":2},"64":{"body":205,"breadcrumbs":5,"title":2},"65":{"body":1112,"breadcrumbs":4,"title":1},"66":{"body":1912,"breadcrumbs":8,"title":3},"67":{"body":455,"breadcrumbs":4,"title":1},"68":{"body":38,"breadcrumbs":6,"title":3},"69":{"body":318,"breadcrumbs":4,"title":1},"7":{"body":0,"breadcrumbs":2,"title":1},"70":{"body":541,"breadcrumbs":4,"title":2},"71":{"body":513,"breadcrumbs":4,"title":1},"72":{"body":123,"breadcrumbs":2,"title":1},"73":{"body":92,"breadcrumbs":7,"title":6},"74":{"body":358,"breadcrumbs":6,"title":4},"75":{"body":662,"breadcrumbs":3,"title":1},"76":{"body":416,"breadcrumbs":5,"title":2},"77":{"body":188,"breadcrumbs":7,"title":3},"78":{"body":614,"breadcrumbs":7,"title":3},"79":{"body":220,"breadcrumbs":4,"title":2},"8":{"body":32,"breadcrumbs":3,"title":2},"80":{"body":107,"breadcrumbs":4,"title":1},"81":{"body":87,"breadcrumbs":4,"title":1},"82":{"body":42,"breadcrumbs":4,"title":1},"83":{"body":76,"breadcrumbs":4,"title":2},"84":{"body":88,"breadcrumbs":6,"title":2},"85":{"body":159,"breadcrumbs":4,"title":1},"86":{"body":238,"breadcrumbs":8,"title":3},"87":{"body":108,"breadcrumbs":4,"title":1},"88":{"body":142,"breadcrumbs":6,"title":2},"89":{"body":111,"breadcrumbs":6,"title":2},"9":{"body":77,"breadcrumbs":2,"title":1},"90":{"body":254,"breadcrumbs":4,"title":2},"91":{"body":0,"breadcrumbs":6,"title":2},"92":{"body":58,"breadcrumbs":8,"title":4},"93":{"body":102,"breadcrumbs":11,"title":7},"94":{"body":167,"breadcrumbs":6,"title":2},"95":{"body":43,"breadcrumbs":6,"title":2},"96":{"body":174,"breadcrumbs":6,"title":2},"97":{"body":24,"breadcrumbs":4,"title":1},"98":{"body":55,"breadcrumbs":9,"title":6},"99":{"body":69,"breadcrumbs":6,"title":3}},"docs":{"0":{"body":"Discover the world of microcontrollers through Rust ! This book is an introductory course on microcontroller-based embedded systems that uses Rust as the teaching language rather than the usual C/C++.","breadcrumbs":"Introduction » Discovery","id":"0","title":"Discovery"},"1":{"body":"The following topics will be covered (eventually, I hope): How to write, build, flash and debug an \"embedded\" (Rust) program. Functionality (\"peripherals\") commonly found in microcontrollers: Digital input and output, Pulse Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like Serial, I2C and SPI, etc. Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc. Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, closed loop control, etc.","breadcrumbs":"Introduction » Scope","id":"1","title":"Scope"},"10":{"body":"All these applications I've mentioned, you can probably implement with a Raspberry Pi, a computer that runs Linux. Why should I bother with a microcontroller that operates without an OS? Sounds like it would be harder to develop a program. The main reason is cost. A microcontroller is much cheaper than a general-purpose computer. Not only the microcontroller is cheaper; it also requires many fewer external electrical components to operate. This makes Printed Circuit Boards (PCBs) smaller and cheaper to design and manufacture. The other big reason is power consumption. A microcontroller consumes orders of magnitude less power than a full-blown processor. If your application will run on batteries that makes a huge difference. And last but not least: (hard) real-time constraints. Some processes require their controllers to respond to some events within some time interval (e.g. a quadcopter/drone hit by a wind gust). If this deadline is not met, the process could end in catastrophic failure (e.g. the drone crashes to the ground). A general-purpose computer running a general-purpose OS has many services running in the background. This makes it hard to guarantee the execution of a program within tight time constraints.","breadcrumbs":"Background » When should I use a microcontroller?","id":"10","title":"When should I use a microcontroller?"},"100":{"body":"The microcontroller has a peripheral called USART, which stands for Universal Synchronous/Asynchronous Receiver/Transmitter. This peripheral can be configured to work with several communication protocols like the serial communication protocol. Throughout this chapter, we'll use serial communication to exchange information between the microcontroller and your computer. But before we do that we have to wire up everything. I mentioned before that this protocol involves two data lines: TX and RX. TX stands for transmitter and RX stands for receiver. Transmitter and receiver are relative terms though; which line is the transmitter and which line is the receiver depends from which side of the communication you are looking at the lines.","breadcrumbs":"USART » USART","id":"100","title":"USART"},"101":{"body":"If you have a newer revision of the board and are using the on-board USB <-> Serial functionality then the auxiliary crate will set pin PC4 as the TX line and pin PC5 as the RX line. If you had previously connected the PC4 and PC4 pins in order to test the loopback functionality in the previous section, make sure to remove that wire, or the upcoming serial communication will fail silently. Everything is already wired on the board so you don't need to wire anything yourself. You can move on to the next section .","breadcrumbs":"USART » Newer board revisions","id":"101","title":"Newer board revisions"},"102":{"body":"If you are using an external USB <-> Serial module then you will need to enable the adapter feature of the aux11 crate dependency in Cargo.toml. [dependencies.aux11]\npath = \"auxiliary\"\n# enable this if you are going to use an external serial adapter\nfeatures = [\"adapter\"] # <- uncomment this We'll be using the pin PA9 as the microcontroller's TX line and PA10 as its RX line. In other words, the pin PA9 outputs data onto its wire whereas the pin PA10 listens for data on its wire. We could have used a different pair of pins as the TX and RX pins. There's a table in page 44 of the Data Sheet that list all the other possible pins we could have used. The serial module also has TX and RX pins. We'll have to cross these pins: that is connect the microcontroller's TX pin to the serial module's RX pin and the micro's RX pin to the serial module's TX pin. The wiring diagram below shows all the necessary connections. These are the recommended steps to connect the microcontroller and the serial module: Close OpenOCD and itmdump Disconnect the USB cables from the F3 and the serial module. Connect one of F3 GND pins to the GND pin of the serial module using a female to male (F/M) wire. Preferably, a black one. Connect the PA9 pin on the back of the F3 to the RXI pin of the serial module using a F/M wire. Connect the PA10 pin on the back of the F3 to the TXO pin of the serial module using a F/M wire. Now connect the USB cable to the F3. Finally connect the USB cable to the Serial module. Re-launch OpenOCD and itmdump Everything's wired up! Let's proceed to send data back and forth.","breadcrumbs":"USART » Older board revisions / external serial module","id":"102","title":"Older board revisions / external serial module"},"103":{"body":"Our first task will be to send a single byte from the microcontroller to the computer over the serial connection. This time, I'm going to provide you with an already initialized USART peripheral. You'll only have to work with the registers that are in charge of sending and receiving data. Go into the 11-usart directory and let's run the starter code therein. Make sure that you have minicom/PuTTY open. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // Send a single character usart1 .tdr .write(|w| w.tdr().bits(u16::from(b'X')) ); loop {}\n} This program writes to the TDR register. This causes the USART peripheral to send one byte of information through the serial interface. On the receiving end, your computer, you should see show the character X appear on minicom/PuTTY's terminal.","breadcrumbs":"USART » Send a single byte » Send a single byte","id":"103","title":"Send a single byte"},"104":{"body":"The next task will be to send a whole string from the microcontroller to your computer. I want you to send the string \"The quick brown fox jumps over the lazy dog.\" from the microcontroller to your computer. It's your turn to write the program. Execute your program inside the debugger, statement by statement. What do you see? Then execute the program again but in one go using the continue command. What happens this time? Finally, build the program in release mode and, again, run it in one go. What happens this time?","breadcrumbs":"USART » Send a string » Send a string","id":"104","title":"Send a string"},"105":{"body":"If you wrote your program like this: #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // Send a string for byte in b\"The quick brown fox jumps over the lazy dog.\".iter() { usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } loop {}\n} You probably received something like this on your computer when you executed the program compiled in debug mode. $ # minicom's terminal\n(..)\nThe uic brwn oxjums oer helaz do. And if you compiled in release mode, you probably only got something like this: $ # minicom's terminal\n(..)\nT What went wrong? You see, sending bytes over the wire takes a relatively large amount of time. I already did the math so let me quote myself: With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data that results in a data rate of 11.52 KB/s Our pangram has a length of 45 bytes. That means it's going to take, at least, 3,900 microseconds (45 bytes / (11,520 bytes/s) = 3,906 us) to send the string. The processor is working at 8 MHz, where executing an instruction takes 125 nanoseconds, so it's likely going to be done with the for loop in less than 3,900 microseconds. We can actually time how long it takes to execute the for loop. aux11::init() returns a MonoTimer (monotonic timer) value that exposes an Instant API that's similar to the one in std::time. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, mono_timer, mut itm) = aux11::init(); let instant = mono_timer.now(); // Send a string for byte in b\"The quick brown fox jumps over the lazy dog.\".iter() { usart1.tdr.write(|w| w.tdr().bits(u16::from(*byte))); } let elapsed = instant.elapsed(); // in ticks iprintln!( &mut itm.stim[0], \"`for` loop took {} ticks ({} us)\", elapsed, elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6 ); loop {}\n} In debug mode, I get: $ # itmdump terminal\n(..)\n`for` loop took 22415 ticks (2801.875 us) This is less than 3,900 microseconds but it's not that far off and that's why only a few bytes of information are lost. In conclusion, the processor is trying to send bytes at a faster rate than what the hardware can actually handle and this results in data loss. This condition is known as buffer overrun . How do we avoid this? The status register (ISR) has a flag, TXE, that indicates if it's \"safe\" to write to the TDR register without incurring in data loss. Let's use that to slowdown the processor. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, mono_timer, mut itm) = aux11::init(); let instant = mono_timer.now(); // Send a string for byte in b\"The quick brown fox jumps over the lazy dog.\".iter() { // wait until it's safe to write to TDR while usart1.isr.read().txe().bit_is_clear() {} // <- NEW! usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } let elapsed = instant.elapsed(); // in ticks iprintln!( &mut itm.stim[0], \"`for` loop took {} ticks ({} us)\", elapsed, elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6 ); loop {}\n} This time, running the program in debug or release mode should result in a complete string on the receiving side. $ # minicom/PuTTY's console\n(..)\nThe quick brown fox jumps over the lazy dog. The timing of the for loop should be closer to the theoretical 3,900 microseconds as well. The timing below is for the debug version. $ # itmdump terminal\n(..)\n`for` loop took 30499 ticks (3812.375 us)","breadcrumbs":"USART » Buffer overrun » Overruns","id":"105","title":"Overruns"},"106":{"body":"For the next exercise, we'll implement the uprint! family of macros. Your goal is to make this line of code work: uprintln!(serial, \"The answer is {}\", 40 + 2); Which must send the string \"The answer is 42\" through the serial interface. How do we go about that? It's informative to look into the std implementation of println!. // src/libstd/macros.rs\nmacro_rules! print { ($($arg:tt)*) => ($crate::io::_print(format_args!($($arg)*)));\n} Looks simple so far. We need the built-in format_args! macro (it's implemented in the compiler so we can't see what it actually does). We'll have to use that macro in the exact same way. What does this _print function do? // src/libstd/io/stdio.rs\npub fn _print(args: fmt::Arguments) { let result = match LOCAL_STDOUT.state() { LocalKeyState::Uninitialized | LocalKeyState::Destroyed => stdout().write_fmt(args), LocalKeyState::Valid => { LOCAL_STDOUT.with(|s| { if s.borrow_state() == BorrowState::Unused { if let Some(w) = s.borrow_mut().as_mut() { return w.write_fmt(args); } } stdout().write_fmt(args) }) } }; if let Err(e) = result { panic!(\"failed printing to stdout: {}\", e); }\n} That looks complicated but the only part we are interested in is: w.write_fmt(args) and stdout().write_fmt(args). What print! ultimately does is call the fmt::Write::write_fmt method with the output of format_args! as its argument. Luckily we don't have to implement the fmt::Write::write_fmt method either because it's a default method. We only have to implement the fmt::Write::write_str method. Let's do that. This is what the macro side of the equation looks like. What's left to be done by you is provide the implementation of the write_str method. Above we saw that Write is in std::fmt. We don't have access to std but Write is also available in core::fmt. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use core::fmt::{self, Write}; #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln, usart1}; macro_rules! uprint { ($serial:expr, $($arg:tt)*) => { $serial.write_fmt(format_args!($($arg)*)).ok() };\n} macro_rules! uprintln { ($serial:expr, $fmt:expr) => { uprint!($serial, concat!($fmt, \"\\n\")) }; ($serial:expr, $fmt:expr, $($arg:tt)*) => { uprint!($serial, concat!($fmt, \"\\n\"), $($arg)*) };\n} struct SerialPort { usart1: &'static mut usart1::RegisterBlock,\n} impl fmt::Write for SerialPort { fn write_str(&mut self, s: &str) -> fmt::Result { // TODO implement this // hint: this will look very similar to the previous program Ok(()) }\n} #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); let mut serial = SerialPort { usart1 }; uprintln!(serial, \"The answer is {}\", 40 + 2); loop {}\n}","breadcrumbs":"USART » uprintln! » uprintln!","id":"106","title":"uprintln!"},"107":{"body":"So far we have sending data from the microcontroller to your computer. It's time to try the opposite: receiving data from your computer. There's a RDR register that will be filled with the data that comes from the RX line. If we read that register, we'll retrieve the data that the other side of the channel sent. The question is: How do we know that we have received (new) data? The status register, ISR, has a bit for that purpose: RXNE. We can just busy wait on that flag. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); loop { // Wait until there's data available while usart1.isr.read().rxne().bit_is_clear() {} // Retrieve the data let _byte = usart1.rdr.read().rdr().bits() as u8; aux11::bkpt(); }\n} Let's try this program! Let it run free using continue and then type a single character in minicom/PuTTY's console. What happens? What are the contents of the _byte variable? (gdb) continue\nContinuing. Program received signal SIGTRAP, Trace/breakpoint trap.\n0x8003d48 in __bkpt () (gdb) finish\nRun till exit from #0 0x8003d48 in __bkpt ()\nusart::main () at src/11-usart/src/main.rs:19\n19 aux11::bkpt(); (gdb) p/c _byte\n$1 = 97 'a'","breadcrumbs":"USART » Receive a single byte » Receive a single byte","id":"107","title":"Receive a single byte"},"108":{"body":"Let's merge transmission and reception into a single program and write an echo server. An echo server sends back to the client the same text it sent. For this application, the microcontroller will be the server and you and your computer will be the client. This should be straightforward to implement. (hint: do it byte by byte)","breadcrumbs":"USART » Echo server » Echo server","id":"108","title":"Echo server"},"109":{"body":"Alright, next let's make the server more interesting by having it respond to the client with the reverse of the text that they sent. The server will respond to the client every time they press the ENTER key. Each server response will be in a new line. This time you'll need a buffer; you can use heapless::Vec . Here's the starter code: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln};\nuse heapless::Vec; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); // TODO Receive a user request. Each user request ends with ENTER // NOTE `buffer.push` returns a `Result`. Handle the error by responding // with an error message. // TODO Send back the reversed string }\n}","breadcrumbs":"USART » Reverse a string » Reverse a string","id":"109","title":"Reverse a string"},"11":{"body":"Where heavy computations are involved. To keep their power consumption low, microcontrollers have very limited computational resources available to them. For example, some microcontrollers don't even have hardware support for floating-point operations. On those devices, performing a simple addition of single-precision numbers can take hundreds of CPU cycles.","breadcrumbs":"Background » When should I not use a microcontroller?","id":"11","title":"When should I not use a microcontroller?"},"110":{"body":"#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln};\nuse heapless::Vec; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); loop { while usart1.isr.read().rxne().bit_is_clear() {} let byte = usart1.rdr.read().rdr().bits() as u8; if buffer.push(byte).is_err() { // buffer full for byte in b\"error: buffer full\\n\\r\" { while usart1.isr.read().txe().bit_is_clear() {} usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } break; } // Carriage return if byte == 13 { // Respond for byte in buffer.iter().rev().chain(&[b'\\n', b'\\r']) { while usart1.isr.read().txe().bit_is_clear() {} usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } break; } } }\n}","breadcrumbs":"USART » My solution » My solution","id":"110","title":"My solution"},"111":{"body":"It's time to get rid of some wires. Serial communication can not only be emulated on top of the USB protocol; it can also be emulated on top of the Bluetooth protocol. This serial over Bluetooth protocol is known as RFCOMM. Before we use the Bluetooth module with the microcontroller, let's first interact with it using minicom/PuTTY. The first thing we'll need to do is: turn on the Bluetooth module. We'll have to share some of the F3 power to it using the following connection: The recommend steps to wire this up are: Close OpenOCD and itmdump Disconnect the USB cables from the F3 and the serial module. Connect F3's GND pin to the Bluetooth's GND pin using a female to female (F/F) wire. Preferably, a black one. Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire. Preferably, a red one. Then, connect the USB cable back to the F3. Re-launch OpenOCD and itmdump Two LEDs, a blue one and a red one, on the Bluetooth module should start blinking right after you power on the F3 board. Next thing to do is pair your computer and the Bluetooth module. AFAIK, Windows and mac users can simply use their OS default Bluetooth manager to do the pairing. The Bluetooth module default pin is 1234. Linux users will have to follow (some of) these instructions .","breadcrumbs":"Bluetooth setup » Bluetooth setup","id":"111","title":"Bluetooth setup"},"112":{"body":"If you have a graphical Bluetooth manager, you can use that to pair your computer to the Bluetooth module and skip most of these steps. You'll probably still have to this step though.","breadcrumbs":"Bluetooth setup » Linux » Linux","id":"112","title":"Linux"},"113":{"body":"First, your computer's Bluetooth transceiver may be OFF. Check its status with hciconfig and turn it ON if necessary: $ hciconfig\nhci0: Type: Primary Bus: USB BD Address: 68:17:29:XX:XX:XX ACL MTU: 310:10 SCO MTU: 64:8 DOWN <-- RX bytes:580 acl:0 sco:0 events:31 errors:0 TX bytes:368 acl:0 sco:0 commands:30 errors:0 $ sudo hciconfig hci0 up $ hciconfig\nhci0: Type: Primary Bus: USB BD Address: 68:17:29:XX:XX:XX ACL MTU: 310:10 SCO MTU: 64:8 UP RUNNING <-- RX bytes:1190 acl:0 sco:0 events:67 errors:0 TX bytes:1072 acl:0 sco:0 commands:66 errors:0 Then you need to launch the BlueZ (Bluetooth) daemon: On systemd based Linux distributions, use: $ sudo systemctl start bluetooth On Ubuntu (or upstart based Linux distributions), use: $ sudo /etc/init.d/bluetooth start You may also need to unblock your Bluetooth, depending on what rfkill list says: $ rfkill list\n9: hci0: Bluetooth Soft blocked: yes # <-- Hard blocked: no $ sudo rfkill unblock bluetooth $ rfkill list\n9: hci0: Bluetooth Soft blocked: no # <-- Hard blocked: no","breadcrumbs":"Bluetooth setup » Linux » Power up","id":"113","title":"Power up"},"114":{"body":"$ hcitool scan\nScanning ... 20:16:05:XX:XX:XX Ferris\n$ # ^^^^^^","breadcrumbs":"Bluetooth setup » Linux » Scan","id":"114","title":"Scan"},"115":{"body":"$ bluetoothctl\n[bluetooth]# scan on\n[bluetooth]# agent on\n[bluetooth]# pair 20:16:05:XX:XX:XX\nAttempting to pair with 20:16:05:XX:XX:XX\n[CHG] Device 20:16:05:XX:XX:XX Connected: yes\nRequest PIN code\n[agent] Enter PIN code: 1234","breadcrumbs":"Bluetooth setup » Linux » Pair","id":"115","title":"Pair"},"116":{"body":"We'll create a device file for our Bluetooth module in /dev. Then we'll be able to use it just like we used /dev/ttyUSB0. $ sudo rfcomm bind 0 20:16:05:XX:XX:XX Because we used 0 as an argument to bind, /dev/rfcomm0 will be the device file assigned to our Bluetooth module. You can release (destroy) the device file at any time with the following command: $ # Don't actually run this command right now!\n$ sudo rfcomm release 0","breadcrumbs":"Bluetooth setup » Linux » rfcomm device","id":"116","title":"rfcomm device"},"117":{"body":"After pairing your computer to the Bluetooth module, your OS should have created a device file / COM port for you. On Linux, it should be /dev/rfcomm*; on mac, it should be /dev/cu.*; and on Windows, it should be a new COM port. We can now test the Bluetooth module with minicom/PuTTY. Because this module doesn't have LED indicators for the transmission and reception events like the serial module did, we'll test the module using a loopback connection: Just connect the module's TXD pin to its RXD pin using a F/F wire. Now, connect to the device using minicom/PuTTY: $ minicom -D /dev/rfcomm0 Upon connecting, the blinking pattern of the Bluetooth module should change to: long pause then blink twice quickly. Typing inside minicom/PuTTY terminal should echo back what you type.","breadcrumbs":"Bluetooth setup » Loopback » Loopback, again","id":"117","title":"Loopback, again"},"118":{"body":"The Bluetooth module and the F3 need to be configured to communicate at the same baud rate. The tutorial code initializes the UART1 serial device to a baud rate of 115200. The HC-05 Bluetooth module is configured at a baud rate of 9600 by default. The Bluetooth module supports an AT mode that allows you to examine and change its configuration and settings. To utilize the AT mode, connect the Bluetooth module to the F3 and FTDI as shown in the following diagram. Recommended steps to enter AT mode: Disconnect the F3 and FTDI from your computer. Connect F3's GND pin to the Bluetooth's GND pin using a Female/Female (F/F) wire (preferably, a black one). Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire (preferably, a red one). Connect the FTDI RXI pin to the Bluetooth's TXD pin using a Female/Male (F/M) wire. Connect the FTDI TXO pin to the Bluetooth's RXD pin using a Female/Male (F/M) wire. Now connect the FTDI to your computer via USB cable. Next connect the F3 to your computer via USB cable while simultaneously pressing and holding the button on the Bluetooth module (kinda tricky). Now, release the button and the Bluetooth module will enter AT mode. You can confirm this by observing that the red LED on the Bluetooth module is blinking in a slow pattern (approx 1-2 seconds on/off). The AT mode always operates at a baud rate of 38400, so configure your terminal program for that baud rate and connect to the FTDI device. When your serial connection is established, you may get a bunch of ERROR: (0) repeatedly being displayed. If this happens, just hit ENTER to stop the errors.","breadcrumbs":"Bluetooth setup » AT commands » AT commands","id":"118","title":"AT commands"},"119":{"body":"$ at\nOK\nOK\n(etc...) Answers OK repeatedly until you hit ENTER again.","breadcrumbs":"Bluetooth setup » AT commands » Sanity check","id":"119","title":"Sanity check"},"12":{"body":"Hopefully, I don't need to convince you here as you are probably familiar with the language differences between Rust and C. One point I do want to bring up is package management. C lacks an official, widely accepted package management solution whereas Rust has Cargo. This makes development much easier. And, IMO, easy package management encourages code reuse because libraries can be easily integrated into an application which is also a good thing as libraries get more \"battle testing\".","breadcrumbs":"Background » Why use Rust and not C?","id":"12","title":"Why use Rust and not C?"},"120":{"body":"$ at+name=ferris\nOK","breadcrumbs":"Bluetooth setup » AT commands » Rename the device","id":"120","title":"Rename the device"},"121":{"body":"at+uart?\n+UART:9600,0,0\nOK\n+UART:9600,0,0\nOK\n(etc ...)","breadcrumbs":"Bluetooth setup » AT commands » Query for the current baud rate of the Bluetooth module","id":"121","title":"Query for the current baud rate of the Bluetooth module"},"122":{"body":"$ at+uart=115200,0,0\nOK","breadcrumbs":"Bluetooth setup » AT commands » Change the baud rate","id":"122","title":"Change the baud rate"},"123":{"body":"Now that we verify that the Bluetooth module works with minicom/PuTTY, let's connect it to the microcontroller: Recommended steps to wire this up: Close OpenOCD and itmdump. Disconnect the F3 from your computer. Connect F3's GND pin to the module's GND pin using a female to female (F/F) wire (preferably, a black one). Connect F3's 5V pin to the module's VCC pin using a F/F wire (preferably, a red one). Connect the PA9 (TX) pin on the back of the F3 to the Bluetooth's RXD pin using a F/F wire. Connect the PA10 (RX) pin on the back of the F3 to the Bluetooth's TXD pin using a F/F wire. Now connect the F3 and your computer using an USB cable. Re-launch OpenOCD and itmdump. And that's it! You should be able to run all the programs you wrote in section 11 without modification! Just make sure you open the right serial device / COM port. NOTE If you are having trouble communicating with the bluetooth device, you may need to initialize USART1 with a lower baud rate. Lowering it from 115,200 bps to 9,600 bps might help, as described in the code here","breadcrumbs":"Serial over Bluetooth » Serial over Bluetooth","id":"123","title":"Serial over Bluetooth"},"124":{"body":"We just saw the serial communication protocol. It's a widely used protocol because it's very simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and USB. However, it's simplicity is also a downside. More elaborated data exchanges, like reading a digital sensor, would require the sensor vendor to come up with another protocol on top of it. (Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some of them are widely used in digital sensors. The F3 board we are using has three motion sensors in it: an accelerometer, a magnetometer and gyroscope. The accelerometer and magnetometer are packaged in a single component and can be accessed via an I2C bus. I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is used to synchronize the communication, this is a synchronous protocol. This protocol uses a master slave model where the master is the device that starts and drives the communication with a slave device. Several devices, both masters and slaves, can be connected to the same bus at the same time. A master device can communicate with a specific slave device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. Once a master has started a communication with a slave, no other device can make use of the bus until the master stops the communication. The clock line determines how fast data can be exchanged and it usually operates at a frequency of 100 KHz (standard mode) or 400 KHz (fast mode).","breadcrumbs":"I2C » I2C","id":"124","title":"I2C"},"125":{"body":"The I2C protocol is more elaborate than the serial communication protocol because it has to support communication between several devices. Let's see how it works using examples:","breadcrumbs":"I2C » The general protocol » General protocol","id":"125","title":"General protocol"},"126":{"body":"If the master wants to send data to the slave: Master: Broadcast START M: Broadcast slave address (7 bits) + the R/W (8th) bit set to WRITE Slave: Responds ACK (ACKnowledgement) M: Send one byte S: Responds ACK Repeat steps 4 and 5 zero or more times M: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Master -> Slave","id":"126","title":"Master -> Slave"},"127":{"body":"If the master wants to read data from the slave: M: Broadcast START M: Broadcast slave address (7 bits) + the R/W (8th) bit set to READ S: Responds with ACK S: Send byte M: Responds with ACK Repeat steps 4 and 5 zero or more times M: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Master <- Slave","id":"127","title":"Master <- Slave"},"128":{"body":"* NOTE : Newer (from around 2020/09) Discovery boards may have an LSM303AGR rather than a LSM303DLHC . Checkout the github issues like this for more details. Two of the sensors in the F3, the magnetometer and the accelerometer, are packaged in a single component: the LSM303DLHC integrated circuit. These two sensors can be accessed via an I2C bus. Each sensor behaves like an I2C slave and has a different address. Each sensor has its own memory where it stores the results of sensing its environment. Our interaction with these sensors will mainly involve reading their memory. The memory of these sensors is modeled as byte addressable registers. These sensors can be configured too; that's done by writing to their registers. So, in a sense, these sensors are very similar to the peripherals inside the microcontroller. The difference is that their registers are not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the I2C bus. The main source of information about the LSM303DLHC is its Data Sheet . Read through it to see how one can read the sensors' registers. That part is in: Section 5.1.1 I2C Operation - Page 20 - LSM303DLHC Data Sheet The other part of the documentation relevant to this book is the description of the registers. That part is in: Section 7 Register description - Page 25 - LSM303DLHC Data Sheet","breadcrumbs":"I2C » LSM303DLHC » LSM303DLHC","id":"128","title":"LSM303DLHC"},"129":{"body":"Let's put all that theory into practice! Just like with the USART peripheral, I've taken care of initializing everything before you reach main so you'll only have to deal with the following registers: CR2. Control register 2. ISR. Interrupt and status register. TXDR. Transmit data register. RXDR. Receive data register. These registers are documented in the following section of the Reference Manual: Section 28.7 I2C registers - Page 868 - Reference Manual We'll be using the I2C1 peripheral in conjunction with pins PB6 (SCL) and PB7 (SDA). You won't have to wire anything this time because the sensor is on the board and it's already connected to the microcontroller. However, I would recommend that you disconnect the serial / Bluetooth module from the F3 to make it easier to manipulate. Later on, we'll be moving the board around quite a bit. Your task is to write a program that reads the contents of the magnetometer's IRA_REG_M register. This register is read only and always contains the value 0b01001000. The microcontroller will be taking the role of the I2C master and the magnetometer inside the LSM303DLHC will be the I2C slave. Here's the starter code. You'll have to implement the TODOs. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux14::{entry, iprint, iprintln, prelude::*}; // Slave address\nconst MAGNETOMETER: u16 = 0b0011_1100; // Addresses of the magnetometer's registers\nconst OUT_X_H_M: u8 = 0x03;\nconst IRA_REG_M: u8 = 0x0A; #[entry]\nfn main() -> ! { let (i2c1, _delay, mut itm) = aux14::init(); // Stage 1: Send the address of the register we want to read to the // magnetometer { // TODO Broadcast START // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Write // TODO Send the address of the register that we want to read: IRA_REG_M } // Stage 2: Receive the contents of the register we asked for let byte = { // TODO Broadcast RESTART // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Read // TODO Receive the contents of the register // TODO Broadcast STOP 0 }; // Expected output: 0x0A - 0b01001000 iprintln!(&mut itm.stim[0], \"0x{:02X} - 0b{:08b}\", IRA_REG_M, byte); loop {}\n} To give you some extra help, these are the exact bitfields you'll be working with: CR2: SADD1, RD_WRN, NBYTES, START, AUTOEND ISR: TXIS, RXNE, TC TXDR: TXDATA RXDR: RXDATA","breadcrumbs":"I2C » Read a single register » Read a single register","id":"129","title":"Read a single register"},"13":{"body":"Or why should I prefer C over Rust? The C ecosystem is way more mature. Off the shelf solution for several problems already exist. If you need to control a time-sensitive process, you can grab one of the existing commercial Real-Time Operating Systems (RTOS) out there and solve your problem. There are no commercial, production-grade RTOSes in Rust yet so you would have to either create one yourself or try one of the ones that are in development.","breadcrumbs":"Background » Why should I not use Rust?","id":"13","title":"Why should I not use Rust?"},"130":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux14::{entry, iprint, iprintln, prelude::*}; // Slave address\nconst MAGNETOMETER: u16 = 0b0011_1100; // Addresses of the magnetometer's registers\nconst OUT_X_H_M: u8 = 0x03;\nconst IRA_REG_M: u8 = 0x0A; #[entry]\nfn main() -> ! { let (i2c1, _delay, mut itm) = aux14::init(); // Stage 1: Send the address of the register we want to read to the // magnetometer { // Broadcast START // Broadcast the MAGNETOMETER address with the R/W bit set to Write i2c1.cr2.write(|w| { w.start().set_bit(); w.sadd().bits(MAGNETOMETER); w.rd_wrn().clear_bit(); w.nbytes().bits(1); w.autoend().clear_bit() }); // Wait until we can send more data while i2c1.isr.read().txis().bit_is_clear() {} // Send the address of the register that we want to read: IRA_REG_M i2c1.txdr.write(|w| w.txdata().bits(IRA_REG_M)); // Wait until the previous byte has been transmitted while i2c1.isr.read().tc().bit_is_clear() {} } // Stage 2: Receive the contents of the register we asked for let byte = { // Broadcast RESTART // Broadcast the MAGNETOMETER address with the R/W bit set to Read i2c1.cr2.modify(|_, w| { w.start().set_bit(); w.nbytes().bits(1); w.rd_wrn().set_bit(); w.autoend().set_bit() }); // Wait until we have received the contents of the register while i2c1.isr.read().rxne().bit_is_clear() {} // Broadcast STOP (automatic because of `AUTOEND = 1`) i2c1.rxdr.read().rxdata().bits() }; // Expected output: 0x0A - 0b01001000 iprintln!(&mut itm.stim[0], \"0x{:02X} - 0b{:08b}\", IRA_REG_M, byte); loop {}\n}","breadcrumbs":"I2C » The solution » The solution","id":"130","title":"The solution"},"131":{"body":"Reading the IRA_REG_M register was a good test of our understanding of the I2C protocol but that register contains uninteresting information. This time, we'll read the registers of the magnetometer that actually expose the sensor readings. Six contiguous registers are involved and they start with OUT_X_H_M at address 0x03. We'll modify our previous program to read these six registers. Only a few modifications are needed. We'll need to change the address we request from the magnetometer from IRA_REG_M to OUT_X_H_M. // Send the address of the register that we want to read: OUT_X_H_M i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M)); We'll have to request the slave for six bytes rather than just one. // Broadcast RESTART // Broadcast the MAGNETOMETER address with the R/W bit set to Read i2c1.cr2.modify(|_, w| { w.start().set_bit(); w.nbytes().bits(6); w.rd_wrn().set_bit(); w.autoend().set_bit() }); And fill a buffer rather than read just one byte: let mut buffer = [0u8; 6]; for byte in &mut buffer { // Wait until we have received the contents of the register while i2c1.isr.read().rxne().bit_is_clear() {} *byte = i2c1.rxdr.read().rxdata().bits(); } // Broadcast STOP (automatic because of `AUTOEND = 1`) Putting it all together inside a loop alongside a delay to reduce the data throughput: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux14::{entry, iprint, iprintln, prelude::*}; // Slave address\nconst MAGNETOMETER: u16 = 0b0011_1100; // Addresses of the magnetometer's registers\nconst OUT_X_H_M: u8 = 0x03;\nconst IRA_REG_M: u8 = 0x0A; #[entry]\nfn main() -> ! { let (i2c1, mut delay, mut itm) = aux14::init(); loop { // Broadcast START // Broadcast the MAGNETOMETER address with the R/W bit set to Write i2c1.cr2.write(|w| { w.start().set_bit(); w.sadd().bits(MAGNETOMETER); w.rd_wrn().clear_bit(); w.nbytes().bits(1); w.autoend().clear_bit() }); // Wait until we can send more data while i2c1.isr.read().txis().bit_is_clear() {} // Send the address of the register that we want to read: OUT_X_H_M i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M)); // Wait until the previous byte has been transmitted while i2c1.isr.read().tc().bit_is_clear() {} // Broadcast RESTART // Broadcast the MAGNETOMETER address with the R/W bit set to Read i2c1.cr2.modify(|_, w| { w.start().set_bit(); w.nbytes().bits(6); w.rd_wrn().set_bit(); w.autoend().set_bit() }); let mut buffer = [0u8; 6]; for byte in &mut buffer { // Wait until we have received something while i2c1.isr.read().rxne().bit_is_clear() {} *byte = i2c1.rxdr.read().rxdata().bits(); } // Broadcast STOP (automatic because of `AUTOEND = 1`) iprintln!(&mut itm.stim[0], \"{:?}\", buffer); delay.delay_ms(1_000_u16); }\n} If you run this, you should printed in the itmdump's console a new array of six bytes every second. The values within the array should change if you move around the board. $ # itmdump terminal\n(..)\n[0, 45, 255, 251, 0, 193]\n[0, 44, 255, 249, 0, 193]\n[0, 49, 255, 250, 0, 195] But these bytes don't make much sense like that. Let's turn them into actual readings: let x_h = u16::from(buffer[0]); let x_l = u16::from(buffer[1]); let z_h = u16::from(buffer[2]); let z_l = u16::from(buffer[3]); let y_h = u16::from(buffer[4]); let y_l = u16::from(buffer[5]); let x = ((x_h << 8) + x_l) as i16; let y = ((y_h << 8) + y_l) as i16; let z = ((z_h << 8) + z_l) as i16; iprintln!(&mut itm.stim[0], \"{:?}\", (x, y, z)); Now it should look better: $ # `itmdump terminal\n(..)\n(44, 196, -7)\n(45, 195, -6)\n(46, 196, -9) This is the Earth's magnetic field decomposed alongside the XYZ axis of the magnetometer. In the next section, we'll learn how to make sense of these numbers.","breadcrumbs":"I2C » Read several registers » Read several registers","id":"131","title":"Read several registers"},"132":{"body":"In this section, we'll implement a compass using the LEDs on the F3. Like proper compasses, our LED compass must point north somehow. It will do that by turning on one of its eight LEDs; the on LED should point towards north. Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction . The magnetometer on the F3 measures both the magnitude and the direction of an external magnetic field but it reports back the decomposition of said field along its axes . See below, the magnetometer has three axes associated to it. Only the X and Y axes are shown above. The Z axis is pointing \"out\" of your screen. Let's get familiar with the readings of the magnetometer by running the following starter code: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*}; #[entry]\nfn main() -> ! { let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init(); loop { iprintln!(&mut itm.stim[0], \"{:?}\", lsm303dlhc.mag().unwrap()); delay.delay_ms(1_000_u16); }\n} This lsm303dlhc module provides high level API over the LSM303DLHC. Under the hood it does the same I2C routine that you implemented in the last section but it reports the X, Y and Z values in a I16x3 struct instead of a tuple. Locate where north is at your current location. Then rotate the board such that it's aligned \"towards north\": the North LED (LD3) should be pointing towards north. Now run the starter code and observe the output. What X, Y and Z values do you see? $ # itmdump terminal\n(..)\nI16x3 { x: 45, y: 194, z: -3 }\nI16x3 { x: 46, y: 195, z: -8 }\nI16x3 { x: 47, y: 197, z: -2 } Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do you see this time? Then rotate it 90 degrees again. What values do you see?","breadcrumbs":"LED compass » LED compass","id":"132","title":"LED compass"},"133":{"body":"What's the simplest way in which we can implement the LED compass? Even if it's not perfect. For starters, we'd only care about the X and Y components of the magnetic field because when you look at a compass you always hold it in horizontal position thus the compass is in the XY plane. For example, what LED would you turn on in the following case. EMF stands for Earth's Magnetic Field and green arrow has the direction of the EMF (it points north). The Southeast LED, right? What signs do the X and Y components of the magnetic field have in that scenario? Both are positive. If we only looked at the signs of the X and Y components we could determine to which quadrant the magnetic field belongs to. In the previous example, the magnetic field was in the first quadrant (x and y were positive) and it made sense to turn on the SouthEast LED. Similarly, we could turn a different LED if the magnetic field was in a different quadrant. Let's try that logic. Here's the starter code: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3}; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); // Look at the signs of the X and Y components to determine in which // quadrant the magnetic field is let dir = match (x > 0, y > 0) { // Quadrant ??? (true, true) => Direction::Southeast, // Quadrant ??? (false, true) => panic!(\"TODO\"), // Quadrant ??? (false, false) => panic!(\"TODO\"), // Quadrant ??? (true, false) => panic!(\"TODO\"), }; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(1_000_u16); }\n} There's a Direction enum in the led module that has 8 variants named after the cardinal points: North, East, Southwest, etc. Each of these variants represent one of the 8 LEDs in the compass. The Leds value can be indexed using the Direction enum; the result of indexing is the LED that points in that Direction.","breadcrumbs":"LED compass » Take 1 » Take 1","id":"133","title":"Take 1"},"134":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3}; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); // Look at the signs of the X and Y components to determine in which // quadrant the magnetic field is let dir = match (x > 0, y > 0) { // Quadrant I (true, true) => Direction::Southeast, // Quadrant II (false, true) => Direction::Northeast, // Quadrant III (false, false) => Direction::Northwest, // Quadrant IV (true, false) => Direction::Southwest, }; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(1_000_u16); }\n}","breadcrumbs":"LED compass » Solution 1 » Solution 1","id":"134","title":"Solution 1"},"135":{"body":"This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y axes of the magnetometer. We'll use the atan2 function. This function returns an angle in the -PI to PI range. The graphic below shows how this angle is measured: Although not explicitly shown in this graph the X axis points to the right and the Y axis points up. Here's the starter code. theta, in radians, has already been computed. You need to pick which LED to turn on based on the value of theta. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] // You'll find this useful ;-)\nuse core::f32::consts::PI; #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};\n// this trait provides the `atan2` method\nuse m::Float; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); let _theta = (y as f32).atan2(x as f32); // in radians // FIXME pick a direction to point to based on `theta` let dir = Direction::Southeast; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(100_u8); }\n} Suggestions/tips: A whole circle rotation equals 360 degrees. PI radians is equivalent to 180 degrees. If theta was zero, what LED would you turn on? If theta was, instead, very close to zero, what LED would you turn on? If theta kept increasing, at what value would you turn on a different LED?","breadcrumbs":"LED compass » Take 2 » Take 2","id":"135","title":"Take 2"},"136":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] // You'll find this useful ;-)\nuse core::f32::consts::PI; #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};\nuse m::Float; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); let theta = (y as f32).atan2(x as f32); // in radians let dir = if theta < -7. * PI / 8. { Direction::North } else if theta < -5. * PI / 8. { Direction::Northwest } else if theta < -3. * PI / 8. { Direction::West } else if theta < -PI / 8. { Direction::Southwest } else if theta < PI / 8. { Direction::South } else if theta < 3. * PI / 8. { Direction::Southeast } else if theta < 5. * PI / 8. { Direction::East } else if theta < 7. * PI / 8. { Direction::Northeast } else { Direction::North }; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(100_u8); }\n}","breadcrumbs":"LED compass » Solution 2 » Solution 2","id":"136","title":"Solution 2"},"137":{"body":"We have been working with the direction of the magnetic field but what's its real magnitude? The number that the magnetic_field function reports are unit-less. How can we convert those values to Gauss? The documentation will answer that question. Section 2.1 Sensor characteristics - Page 10 - LSM303DLHC Data Sheet The table in that page shows a magnetic gain setting that has different values according to the values of the GN bits. By default, those GN bits are set to 001. That means that magnetic gain of the X and Y axes is 1100 LSB / Gauss and the magnetic gain of the Z axis is 980 LSB / Gauss. LSB stands for Least Significant Bits and the 1100 LSB / Gauss number indicates that a reading of 1100 is equivalent to 1 Gauss, a reading of 2200 is equivalent to 2 Gauss and so on. So, what we need to do is divide the X, Y and Z values that the sensor outputs by its corresponding gain . Then, we'll have the X, Y and Z components of the magnetic field in Gauss. With some extra math we can retrieve the magnitude of the magnetic field from its X, Y and Z components: let magnitude = (x * x + y * y + z * z).sqrt(); Putting all this together in a program: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, I16x3};\nuse m::Float; #[entry]\nfn main() -> ! { const XY_GAIN: f32 = 1100.; // LSB / G const Z_GAIN: f32 = 980.; // LSB / G let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init(); loop { let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap(); let x = f32::from(x) / XY_GAIN; let y = f32::from(y) / XY_GAIN; let z = f32::from(z) / Z_GAIN; let mag = (x * x + y * y + z * z).sqrt(); iprintln!(&mut itm.stim[0], \"{} mG\", mag * 1_000.); delay.delay_ms(500_u16); }\n} This program will report the magnitude (strength) of the magnetic field in milligauss (mG). The magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude varies depending on your geographical location) so you should see a value in that range or close to that range -- I see a magnitude of around 210 mG. Some questions: Without moving the board, what value do you see? Do you always see the same value? If you rotate the board, does the magnitude change? Should it change?","breadcrumbs":"LED compass » Magnitude » Magnitude","id":"137","title":"Magnitude"},"138":{"body":"If we rotate the board, the direction of the Earth's magnetic field with respect to the magnetometer should change but its magnitude should not! Yet, the magnetometer indicates that the magnitude of the magnetic field changes as the board rotates. Why's that the case? Turns out the magnetometer needs to be calibrated to return the correct answer. The calibration involves quite a bit of math (matrices) so we won't cover it here but this Application Note describes the procedure if you are interested. Instead, what we'll do in this section is visualize how off we are. Let's try this experiment: Let's record the readings of the magnetometer while we slowly rotate the board in different directions. We'll use the iprintln macro to format the readings as Tab Separated Values (TSV). #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, I16x3}; #[entry]\nfn main() -> ! { let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init(); loop { let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap(); iprintln!(&mut itm.stim[0], \"{}\\t{}\\t{}\", x, y, z); delay.delay_ms(100_u8); }\n} You should get an output in the console that looks like this: $ # itmdump console\n-76 213 -54\n-76 213 -54\n-76 213 -54\n-76 213 -54\n-73 213 -55 You can pipe that to a file using: $ # Careful! Exit any running other `itmdump` instance that may be running\n$ itmdump -F -f itm.txt > emf.txt Rotate the board in many different direction while you log data for a several seconds. Then import that TSV file into a spreadsheet program (or use the Python script shown below) and plot the first two columns as a scatter plot. #!/usr/bin/python import csv\nimport math\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport seaborn as sns\nimport sys # apply plot style\nsns.set() x = []\ny = [] with open(sys.argv[1], 'r') as f: rows = csv.reader(f, delimiter='\\t') for row in rows: # discard rows that are missing data if len(row) != 3 or not row[0] or not row[1]: continue x.append(int(row[0])) y.append(int(row[1])) r = math.ceil(max(max(np.abs(x)), max(np.abs(y))) / 100) * 100 plt.plot(x, y, '.')\nplt.xlim(-r, r)\nplt.ylim(-r, r)\nplt.gca().set_aspect(1)\nplt.tight_layout() plt.savefig('emf.svg')\nplt.close If you rotated the board on a flat horizontal surface, the Z component of the magnetic field should have remained relatively constant and this plot should have been a circumference (not a ellipse) centered at the origin. If you rotated the board in random directions, which was the case of plot above, then you should have gotten a circle made of a bunch of points centered at the origin. Deviations from the circle shape indicate that the magnetometer needs to be calibrated. Take home message: Don't just trust the reading of a sensor. Verify it's outputting sensible values. If it's not, then calibrate it.","breadcrumbs":"LED compass » Calibration » Calibration","id":"138","title":"Calibration"},"139":{"body":"In this section we'll be playing with the accelerometer that's in the board. What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, actually the maximum acceleration that you can reach because acceleration is what accelerometers measure. Strength and acceleration are proportional though so it's a good approximation. The accelerometer is also built inside the LSM303DLHC package. And just like the magnetometer, it can also be accessed using the I2C bus. It also has the same coordinate system as the magnetometer. Here's the coordinate system again: Just like in the previous unit, we'll be using a high level API to directly get the sensor readings in a nicely packaged struct.","breadcrumbs":"Punch-o-meter » Punch-o-meter","id":"139","title":"Punch-o-meter"},"14":{"body":"The primary knowledge requirement to read this book is to know some Rust. It's hard for me to quantify some but at least I can tell you that you don't need to fully grok generics but you do need to know how to use closures. You also need to be familiar with the idioms of the 2018 edition , in particular with the fact that extern crate is not necessary in the 2018 edition. Due to the nature of embedded programming, it will also be extremely helpful to understand how binary and hexadecimal representations of values work, as well as the use of some bitwise operators. For example, it would be useful to understand how the following program produces its output. fn main() { let a = 0x4000_0000 + 0xa2; // Use of the bit shift \"<<\" operation. let b = 1 << 5; // {:X} will format values as hexadecimal println!(\"{:X}: {:X}\", a, b);\n} Also, to follow this material you'll need the following hardware: (Some components are optional but recommended) A STM32F3DISCOVERY board. (You can purchase this board from \"big\" electronics suppliers or from e-commerce sites ) OPTIONAL. A 3.3V USB <-> Serial module. To elaborate: if you have one of the latest revisions of the discovery board (which is usually the case given the first revision was released years ago) then you do not need this module because the board includes this functionality on-board. If you have an older revision of the board then you'll need this module for chapters 10 and 11. For completeness, we'll include instructions for using a Serial module. The book will use this particular model but you can use any other model as long as it operates at 3.3V. The CH340G module, which you can buy from e-commerce sites works too and it's probably cheaper for you to get. OPTIONAL. A HC-05 Bluetooth module (with headers!). A HC-06 would work too. (As with other Chinese parts, you pretty much can only find these on e-commerce sites . (US) Electronics suppliers don't usually stock these for some reason) Two mini-B USB cables. One is required to make the STM32F3DISCOVERY board work. The other is only required if you have the Serial <-> USB module. Make sure that the cables both support data transfer as some cables only support charging devices. NOTE These are not the USB cables that ship with pretty much every Android phone; those are micro USB cables. Make sure you have the right thing! MOSTLY OPTIONAL. 5 female to female, 4 male to female and 1 Male to Male jumper (AKA Dupont) wires. You'll very likely need one female to female to get ITM working. The other wires are only needed if you'll be using the USB <-> Serial and Bluetooth modules. (You can get these from electronics suppliers or from e-commerce sites ) FAQ : Wait, why do I need this specific hardware? It makes my life and yours much easier. The material is much, much more approachable if we don't have to worry about hardware differences. Trust me on this one. FAQ : Can I follow this material with a different development board? Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or whether there already exists a high level crate, like the f3 , for your development board somewhere. With a different development board, this text would lose most if not all its beginner friendliness and \"easy to follow\"-ness, IMO. If you have a different development board and you don't consider yourself a total beginner, you are better off starting with the quickstart project template.","breadcrumbs":"Hardware/knowledge requirements » Hardware/knowledge requirements","id":"14","title":"Hardware/knowledge requirements"},"140":{"body":"What's the first thing we'll do? Perform a sanity check! The starter code prints the X, Y and Z components of the acceleration measured by the accelerometer. The values have already been \"scaled\" and have units of gs. Where 1 g is equal to the acceleration of the gravity, about 9.8 meters per second squared. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity}; #[entry]\nfn main() -> ! { let (mut lsm303dlhc, mut delay, _mono_timer, mut itm) = aux16::init(); // extend sensing range to `[-12g, +12g]` lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap(); loop { const SENSITIVITY: f32 = 12. / (1 << 14) as f32; let I16x3 { x, y, z } = lsm303dlhc.accel().unwrap(); let x = f32::from(x) * SENSITIVITY; let y = f32::from(y) * SENSITIVITY; let z = f32::from(z) * SENSITIVITY; iprintln!(&mut itm.stim[0], \"{:?}\", (x, y, z)); delay.delay_ms(1_000_u16); }\n} The output of this program with the board sitting still will be something like: $ # itmdump console\n(..)\n(0.0, 0.0, 1.078125)\n(0.0, 0.0, 1.078125)\n(0.0, 0.0, 1.171875)\n(0.0, 0.0, 1.03125)\n(0.0, 0.0, 1.078125) Which is weird because the board is not moving yet its acceleration is non-zero. What's going on? This must be related to the gravity, right? Because the acceleration of gravity is 1 g. But the gravity pulls objects downwards so the acceleration along the Z axis should be negative not positive ... Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity to the X or Y axis but the acceleration measured by the accelerometer is always pointing up. What happens here is that the accelerometer is measuring the proper acceleration of the board not the acceleration you are observing. This proper acceleration is the acceleration of the board as seen from a observer that's in free fall. An observer that's in free fall is moving toward the center of the the Earth with an acceleration of 1g; from its point of view the board is actually moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the proper acceleration is pointing up. This also means that if the board was in free fall, the accelerometer would report a proper acceleration of zero. Please, don't try that at home. Yes, physics is hard. Let's move on.","breadcrumbs":"Punch-o-meter » Gravity is up? » Gravity is up?","id":"140","title":"Gravity is up?"},"141":{"body":"To keep things simple, we'll measure the acceleration only in the X axis while the board remains horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed before which would be hard because that 1g could have X Y Z components depending on how the board is oriented. Here's what the punch-o-meter must do: By default, the app is not \"observing\" the acceleration of the board. When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), the app should start a new measurement. During that measurement interval, the app should keep track of the maximum acceleration observed After the measurement interval ends, the app must report the maximum acceleration observed. You can report the value using the iprintln macro. Give it a try and let me know how hard you can punch ;-).","breadcrumbs":"Punch-o-meter » The challenge » The challenge","id":"141","title":"The challenge"},"142":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity};\nuse m::Float; #[entry]\nfn main() -> ! { const SENSITIVITY: f32 = 12. / (1 << 14) as f32; const THRESHOLD: f32 = 0.5; let (mut lsm303dlhc, mut delay, mono_timer, mut itm) = aux16::init(); lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap(); let measurement_time = mono_timer.frequency().0; // 1 second in ticks let mut instant = None; let mut max_g = 0.; loop { let g_x = f32::from(lsm303dlhc.accel().unwrap().x).abs() * SENSITIVITY; match instant { None => { // If acceleration goes above a threshold, we start measuring if g_x > THRESHOLD { iprintln!(&mut itm.stim[0], \"START!\"); max_g = g_x; instant = Some(mono_timer.now()); } } // Still measuring Some(ref instant) if instant.elapsed() < measurement_time => { if g_x > max_g { max_g = g_x; } } _ => { // Report max value iprintln!(&mut itm.stim[0], \"Max acceleration: {}g\", max_g); // Measurement done instant = None; // Reset max_g = 0.; } } delay.delay_ms(50_u8); }\n}","breadcrumbs":"Punch-o-meter » My solution » My solution","id":"142","title":"My solution"},"143":{"body":"We have barely scratched the surface! There's lots of stuff left for you to explore. NOTE: If you're reading this, and you'd like to help add examples or exercises to the Discovery book for any of the items below, or any other relevant embedded topics, we'd love to have your help! Please open an issue if you would like to help, but need assistance or mentoring for how to contribute this to the book, or open a Pull Request adding the information!","breadcrumbs":"What's left for you to explore » What's left for you to explore","id":"143","title":"What's left for you to explore"},"144":{"body":"These topics discuss strategies for writing embedded software. Although many problems can be solved in different ways, these sections talk about some strategies, and when they make sense (or don't make sense) to use.","breadcrumbs":"What's left for you to explore » Topics about embedded software","id":"144","title":"Topics about embedded software"},"145":{"body":"All our programs executed a single task. How could we achieve multitasking in a system with no OS, and thus no threads. There are two main approaches to multitasking: preemptive multitasking and cooperative multitasking. In preemptive multitasking a task that's currently being executed can, at any point in time, be preempted (interrupted) by another task. On preemption, the first task will be suspended and the processor will instead execute the second task. At some point the first task will be resumed. Microcontrollers provide hardware support for preemption in the form of interrupts . In cooperative multitasking a task that's being executed will run until it reaches a suspension point . When the processor reaches that suspension point it will stop executing the current task and instead go and execute a different task. At some point the first task will be resumed. The main difference between these two approaches to multitasking is that in cooperative multitasking yields execution control at known suspension points instead of being forcefully preempted at any point of its execution.","breadcrumbs":"What's left for you to explore » Multitasking","id":"145","title":"Multitasking"},"146":{"body":"All our programs have been continuously polling peripherals to see if there's anything that needs to be done. However, some times there's nothing to be done! At those times, the microcontroller should \"sleep\". When the processor sleeps, it stops executing instructions and this saves power. It's almost always a good idea to save power so your microcontroller should be sleeping as much as possible. But, how does it know when it has to wake up to perform some action? \"Interrupts\" are one of the events that wake up the microcontroller but there are others and the wfi and wfe are the instructions that make the processor \"sleep\".","breadcrumbs":"What's left for you to explore » Sleeping","id":"146","title":"Sleeping"},"147":{"body":"Microcontrollers (like our STM32F3) have many different capabilities. However, many share similar capabilities that can be used to solve all sorts of different problems. These topics discuss some of those capabilities, and how they can be used effectively in embedded development.","breadcrumbs":"What's left for you to explore » Topics related to microcontroller capabilities","id":"147","title":"Topics related to microcontroller capabilities"},"148":{"body":"This peripheral is a kind of asynchronous memcpy. So far our programs have been pumping data, byte by byte, into peripherals like UART and I2C. This DMA peripheral can be used to perform bulk transfers of data. Either from RAM to RAM, from a peripheral, like a UART, to RAM or from RAM to a peripheral. You can schedule a DMA transfer, like read 256 bytes from USART1 into this buffer, leave it running in the background and then poll some register to see if it has completed so you can do other stuff while the transfer is ongoing.","breadcrumbs":"What's left for you to explore » Direct Memory Access (DMA).","id":"148","title":"Direct Memory Access (DMA)."},"149":{"body":"In order to interact with the real world, it is often necessary for the microcontroller to respond immediately when some kind of event occurs. Microcontrollers have the ability to be interrupted, meaning when a certain event occurs, it will stop whatever it is doing at the moment, to instead respond to that event. This can be very useful when we want to stop a motor when a button is pressed, or measure a sensor when a timer finishes counting down. Although these interrupts can be very useful, they can also be a bit difficult to work with properly. We want to make sure that we respond to events quickly, but also allow other work to continue as well. In Rust, we model interrupts similar to the concept of threading on desktop Rust programs. This means we also must think about the Rust concepts of Send and Sync when sharing data between our main application, and code that executes as part of handling an interrupt event.","breadcrumbs":"What's left for you to explore » Interrupts","id":"149","title":"Interrupts"},"15":{"body":"Dealing with microcontrollers involves several tools as we'll be dealing with an architecture different than your computer's and we'll have to run and debug programs on a \"remote\" device.","breadcrumbs":"Setting up a development environment » Setting up a development environment","id":"15","title":"Setting up a development environment"},"150":{"body":"In a nutshell, PWM is turning on something and then turning it off periodically while keeping some proportion (\"duty cycle\") between the \"on time\" and the \"off time\". When used on a LED with a sufficiently high frequency, this can be used to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, will make the LED much brighter (almost as if it were fully powered). In general, PWM can be used to control how much power is given to some electric device. With proper (power) electronics between a microcontroller and an electrical motor, PWM can be used to control how much power is given to the motor thus it can be used to control its torque and speed. Then you can add an angular position sensor and you got yourself a closed loop controller that can control the position of the motor at different loads.","breadcrumbs":"What's left for you to explore » Pulse Width Modulation (PWM)","id":"150","title":"Pulse Width Modulation (PWM)"},"151":{"body":"We have used the microcontroller pins as digital outputs, to drive LEDs. But these pins can also be configured as digital inputs. As digital inputs, these pins can read the binary state of switches (on/off) or buttons (pressed/not pressed). ( spoilers reading the binary state of switches / buttons is not as straightforward as it sounds ;-)","breadcrumbs":"What's left for you to explore » Digital inputs","id":"151","title":"Digital inputs"},"152":{"body":"There are a lots of digital sensors out there. You can use a protocol like I2C and SPI to read them. But analog sensors also exist! These sensors just output a voltage level that's proportional to the magnitude they are sensing. The ADC peripheral can be use to convert that \"analog\" voltage level, say 1.25 Volts,into a \"digital\" number, say in the [0, 65535] range, that the processor can use in its calculations.","breadcrumbs":"What's left for you to explore » Analog-to-Digital Converters (ADC)","id":"152","title":"Analog-to-Digital Converters (ADC)"},"153":{"body":"As you might expect a DAC is exactly the opposite of ADC. You can write some digital value into a register to produce a voltage in the [0, 3.3V] range (assuming a 3.3V power supply) on some \"analog\" pin. When this analog pin is connected to some appropriate electronics and the register is written to at some constant, fast rate (frequency) with the right values you can produce sounds or even music!","breadcrumbs":"What's left for you to explore » Digital-to-Analog Converters (DAC)","id":"153","title":"Digital-to-Analog Converters (DAC)"},"154":{"body":"This peripheral can be used to track time in \"human format\". Seconds, minutes, hours, days, months and years. This peripheral handles the translation from \"ticks\" to these human friendly units of time. It even handles leap years and Daylight Save Time for you!","breadcrumbs":"What's left for you to explore » Real Time Clock (RTC)","id":"154","title":"Real Time Clock (RTC)"},"155":{"body":"SPI, I2S, SMBUS, CAN, IrDA, Ethernet, USB, Bluetooth, etc. Different applications use different communication protocols. User facing applications usually have an USB connector because USB is an ubiquitous protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN \"buses\". Some digital sensors use SPI, others use I2C and others, SMBUS.","breadcrumbs":"What's left for you to explore » Other communication protocols","id":"155","title":"Other communication protocols"},"156":{"body":"These topics cover items that are not specific to our device, or the hardware on it. Instead, they discuss useful techniques that could be used on embedded systems.","breadcrumbs":"What's left for you to explore » General Embedded-Relevant Topics","id":"156","title":"General Embedded-Relevant Topics"},"157":{"body":"As part of our Punch-o-meter exercise, we used the Accelerometer to measure changes in acceleration in three dimensions. Our board also features a sensor called a Gyroscope, which allows us to measure changes in \"spin\" in three dimensions. This can be very useful when trying to build certain systems, such as a robot that wants to avoid tipping over. Additionally, the data from a sensor like a gyroscope can also be combined with data from accelerometer using a technique called Sensor Fusion (see below for more information).","breadcrumbs":"What's left for you to explore » Gyroscopes","id":"157","title":"Gyroscopes"},"158":{"body":"While some motors are used primarily just to spin in one direction or the other, for example driving a remote control car forwards or backwards, it is sometimes useful to measure more precisely how a motor rotates. Our microcontroller can be used to drive Servo or Stepper motors, which allow for more precise control of how many turns are being made by the motor, or can even position the motor in one specific place, for example if we wanted to move the arms of a clock to a particular direction.","breadcrumbs":"What's left for you to explore » Servo and Stepper Motors","id":"158","title":"Servo and Stepper Motors"},"159":{"body":"The STM32F3DISCOVERY contains three motion sensors: an accelerometer, a gyroscope and a magnetometer. On their own these measure: (proper) acceleration, angular speed and (the Earth's) magnetic field. But these magnitudes can be \"fused\" into something more useful: a \"robust\" measurement of the orientation of the board. Where robust means with less measurement error than a single sensor would be capable of. This idea of deriving more reliable data from different sources is known as sensor fusion. So where to next? There are several options: You could check out the examples in the f3 board support crate. All those examples work for the STM32F3DISCOVERY board you have. You could try out this motion sensors demo . Details about the implementation and source code are available in this blog post . You could check out Real Time for The Masses . A very efficient preemptive multitasking framework that supports task prioritization and dead lock free execution. You could try running Rust on a different development board. The easiest way to get started is to use the cortex-m-quickstart Cargo project template. You could check out this blog post which describes how Rust type system can prevent bugs in I/O configuration. You could check out my blog for miscellaneous topics about embedded development with Rust. You could check out the embedded-hal project which aims to build abstractions (traits) for all the embedded I/O functionality commonly found on microcontrollers. You could join the Weekly driver initiative and help us write generic drivers on top of the embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, etc.)","breadcrumbs":"What's left for you to explore » Sensor fusion","id":"159","title":"Sensor fusion"},"16":{"body":"Tooling is not everything though. Without documentation it is pretty much impossible to work with microcontrollers. We'll be referring to all these documents throughout this book: HEADS UP All these links point to PDF files and some of them are hundreds of pages long and several MBs in size. STM32F3DISCOVERY User Manual STM32F303VC Datasheet STM32F303VC Reference Manual LSM303DLHC * L3GD20 * * NOTE : Newer (from around 2020/09) Discovery boards may have a different e-compass and gyroscope (see the user manual). As such, much in chapters 14-16 will not work as is. Checkout the github issues like this .","breadcrumbs":"Setting up a development environment » Documentation","id":"16","title":"Documentation"},"160":{"body":"","breadcrumbs":"General troubleshooting » General troubleshooting","id":"160","title":"General troubleshooting"},"161":{"body":"","breadcrumbs":"General troubleshooting » OpenOCD problems","id":"161","title":"OpenOCD problems"},"162":{"body":"Symptoms Upon trying to establish a new connection with the device you get an error that looks like this: $ openocd -f (..)\n(..)\nError: open failed\nin procedure 'init'\nin procedure 'ocd_bouncer' Cause The device is not (properly) connected or not the correct ST-LINK interface configuration is used. Fix Linux: Check the USB connection using lsusb. You may not have enough permission to open the device. Try again with sudo. If that works, you can use these instructions to make OpenOCD work without root privilege. You might be using the wrong interface configuration for your ST-LINK. Try interface/stlink-v2.cfg instead of interface/stlink-v2-1.cfg. Windows: You are probably missing the ST-LINK USB driver. Installation instructions here .","breadcrumbs":"General troubleshooting » can't connect to OpenOCD - \"Error: open failed\"","id":"162","title":"can't connect to OpenOCD - \"Error: open failed\""},"163":{"body":"Symptoms Upon trying to establish a new connection with the device you get an error that looks like this: $ openocd -f (..)\n(..)\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 100ms\nInfo : Previous state query failed, trying to reconnect\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 300ms\nInfo : Previous state query failed, trying to reconnect Cause The microcontroller may have get stuck in some tight infinite loop or it may be continuously raising an exception, e.g. the exception handler is raising an exception. Fix Close OpenOCD, if running Press and hold the reset (black) button Launch the OpenOCD command Now, release the reset button","breadcrumbs":"General troubleshooting » can't connect to OpenOCD - \"Polling again in X00ms\"","id":"163","title":"can't connect to OpenOCD - \"Polling again in X00ms\""},"164":{"body":"Symptoms A running OpenOCD session suddenly errors with: # openocd -f (..)\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 100ms\nInfo : Previous state query failed, trying to reconnect\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 300ms\nInfo : Previous state query failed, trying to reconnect Cause The USB connection was lost. Fix Close OpenOCD Disconnect and re-connect the USB cable. Re-launch OpenOCD","breadcrumbs":"General troubleshooting » OpenOCD connection lost - \"Polling again in X00ms\"","id":"164","title":"OpenOCD connection lost - \"Polling again in X00ms\""},"165":{"body":"Symptoms While flashing the device, you get: $ arm-none-eabi-gdb $file\nStart address 0x8000194, load size 31588\nTransfer rate: 22 KB/sec, 5264 bytes/write.\nIgnoring packet error, continuing...\nIgnoring packet error, continuing... Cause Closed itmdump while a program that \"printed\" to the ITM was running. The current GDB session will appear to work normally, just without ITM output but the next GDB session will error with the message that was shown in the previous section. Or, itmdump was called after the monitor tpiu was issued thus making itmdump delete the file / named-pipe that OpenOCD was writing to. Fix Close/kill GDB, OpenOCD and itmdump Remove the file / named-pipe that itmdump was using (for example, itm.txt). Launch OpenOCD Then, launch itmdump Then, launch the GDB session that executes the monitor tpiu command.","breadcrumbs":"General troubleshooting » Can't flash the device - \"Ignoring packet error, continuing...\"","id":"165","title":"Can't flash the device - \"Ignoring packet error, continuing...\""},"166":{"body":"Symptoms Upon trying to establish a new connection with the device you get an error that looks something like this: $ openocd -f (..)\n(..)\nError: couldn't bind telnet to socket: Address already in use Cause One or more of the ports OpenOCD requires access to, 3333, 4444, or 6666, is in use by another process. Each of these ports is used for another aspect: 3333 for gdb, 4444 for telnet, 6666 for remote procedure call (RPC) commands to TCL Fix You can go two routes for fixing this. A) Kill any process that's using one of those ports. B) Specify different ports you know to be free for OpenOCD to use. Solution A Mac: Get a list of processes using ports by running sudo lsof -PiTCP -sTCP:LISTEN Kill the process(es) blocking the key ports by noting their pid(s) and running kill [pid] for each. (Assuming you can confirm they're not running anything mission-critical on your machine!) Solution B All: Send configuration details to OpenOCD when starting it up so that it uses a different port from the default for any of the processes. For example, to do its telnet features on 4441 instead of the default 4444, you would run openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg -c \"telnet_port 4441\" More details on OpenOCD's Configuration Stage can be found in their official docs online .","breadcrumbs":"General troubleshooting » can't connect to OpenOCD - \"Error: couldn't bind [telnet] to socket: Address already in use\"","id":"166","title":"can't connect to OpenOCD - \"Error: couldn't bind [telnet] to socket: Address already in use\""},"167":{"body":"","breadcrumbs":"General troubleshooting » Cargo problems","id":"167","title":"Cargo problems"},"168":{"body":"Symptoms Compiling volatile-register v0.1.2 Compiling rlibc v1.0.0 Compiling r0 v0.1.0\nerror[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error Build failed, waiting for other jobs to finish...\nBuild failed, waiting for other jobs to finish...\nerror: Could not compile `r0`. To learn more, run the command again with --verbose. Cause You are using a toolchain older than nightly-2018-04-08 and forgot to call rustup target add thumbv7em-none-eabihf. Fix Update your nightly and install the thumbv7em-none-eabihf target. $ rustup update nightly $ rustup target add thumbv7em-none-eabihf","breadcrumbs":"General troubleshooting » \"can't find crate for core\"","id":"168","title":"\"can't find crate for core\""},"169":{"body":"Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached to an OpenOCD session.","breadcrumbs":"How to use GDB » How to use GDB","id":"169","title":"How to use GDB"},"17":{"body":"We'll use all the tools listed below. Where a minimum version is not specified, any recent version should work but we have listed the version we have tested. Rust 1.31 or a newer toolchain. Chapter USART requires 1.51 or newer. itmdump >=0.3.1 (cargo install itm). Tested versions: 0.3.1. OpenOCD >=0.8. Tested versions: v0.9.0 and v0.10.0 arm-none-eabi-gdb. Version 7.12 or newer highly recommended. Tested versions: 7.10, 7.11, 7.12 and 8.1 cargo-binutils . Version 0.1.4 or newer. minicom on Linux and macOS. Tested version: 2.7. Readers report that picocom also works but we'll use minicom in this text. PuTTY on Windows. If your computer has Bluetooth functionality and you have the Bluetooth module, you can additionally install these tools to play with the Bluetooth module. All these are optional: Linux, only if you don't have a Bluetooth manager application like Blueman. bluez hcitool rfcomm rfkill macOS / OSX / Windows users only need the default bluetooth manager that ships with their OS. Next, follow OS-agnostic installation instructions for a few of the tools:","breadcrumbs":"Setting up a development environment » Tools","id":"17","title":"Tools"},"170":{"body":"NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!","breadcrumbs":"How to use GDB » General Debugging","id":"170","title":"General Debugging"},"171":{"body":"break $location: Set a breakpoint at a place in your code. The value of $location can include: break *main - Break on the exact address of the function main break *0x080012f2 - Break on the exact memory location 0x080012f2 break 123 - Break on line 123 of the currently displayed file break main.rs:123 - Break on line 123 of the file main.rs info break: Display current breakpoints delete: Delete all breakpoints delete $n: Delete breakpoint $n (n being a number. For example: delete $2) clear: Delete breakpoint at next instruction clear main.rs:$function: Delete breakpoint at entry of $function in main.rs clear main.rs:123: Delete breakpoint on line 123 of main.rs enable: Enable all set breakpoints enable $n: Enable breakpoint $n disable: Disable all set breakpoints disable $n: Disable breakpoint $n","breadcrumbs":"How to use GDB » Dealing with Breakpoints","id":"171","title":"Dealing with Breakpoints"},"172":{"body":"continue: Begin or continue execution of your program next: Execute the next line of your program next $n: Repeat next $n number times nexti: Same as next but with machine instructions instead step: Execute the next line, if the next line includes a call to another function, step into that code step $n: Repeat step $n number times stepi: Same as step but with machine instructions instead jump $location: Resume execution at specified location: jump 123: Resume execution at line 123 jump 0x080012f2: Resume execution at address 0x080012f2","breadcrumbs":"How to use GDB » Controlling Execution","id":"172","title":"Controlling Execution"},"173":{"body":"print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: x: hexadecimal d: signed decimal\nu: unsigned decimal\no: octal\nt: binary\na: address\nc: character\nf: floating point print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010) x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, $u unit size (bytes, halfwords, words, etc), $f any print format defined above x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4 x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing disassemble $location disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction","breadcrumbs":"How to use GDB » Printing Information","id":"173","title":"Printing Information"},"174":{"body":"info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions info functions main: Print names and types of defined functions that contain the word main info address $symbol: Print where $symbol is stored in memory info address GPIOC: Print the memory address of the variable GPIOC info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables ptype $data: Print more detailed information about $data ptype cp: Print detailed type information about the variable cp","breadcrumbs":"How to use GDB » Looking at the Symbol Table","id":"174","title":"Looking at the Symbol Table"},"175":{"body":"backtrace $n: Print trace of $n frames, or omit $n to print all frames backtrace 2: Print trace of first 2 frames frame $n: Select frame with number or address $n, omit $n to display current frame up $n: Select frame $n frames up down $n: Select frame $n frames down info frame $address: Describe frame at $address, omit $address for currently selected frame info args: Print arguments of selected frame info registers $r: Print the value of register $r in selected frame, omit $r for all registers info registers $sp: Print the value of the stack pointer register $sp in the current frame","breadcrumbs":"How to use GDB » Poking around the Program Stack","id":"175","title":"Poking around the Program Stack"},"176":{"body":"monitor reset run: Reset the CPU, starting execution over again monitor reset: Same as above monitor reset init: Reset the CPU, halting execution at the start monitor targets: Display information and state of current target","breadcrumbs":"How to use GDB » Controlling OpenOCD Remotely","id":"176","title":"Controlling OpenOCD Remotely"},"18":{"body":"Install rustup by following the instructions at https://rustup.rs . If you already have rustup installed double check that you are on the stable channel and your stable toolchain is up to date. rustc -V should return a date newer than the one shown below: $ rustc -V\nrustc 1.31.0 (abe02cefd 2018-12-04)","breadcrumbs":"Setting up a development environment » rustc & Cargo","id":"18","title":"rustc & Cargo"},"19":{"body":"cargo install itm Verify the version is >=0.3.1 $ itmdump -V\nitmdump 0.3.1","breadcrumbs":"Setting up a development environment » itmdump","id":"19","title":"itmdump"},"2":{"body":"Beginner friendly. No previous experience with microcontrollers or embedded systems is required. Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the work here. Tool centered. We'll make plenty use of tooling to ease development. \"Real\" debugging, with GDB, and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.","breadcrumbs":"Introduction » Approach","id":"2","title":"Approach"},"20":{"body":"Install llvm-tools rustup component add llvm-tools Install cargo-binutils cargo install cargo-binutils Verify tools are installed Run the following commands at your terminal cargo new test-size cd test-size cargo run cargo size -- --version The results should be something like: ~\n$ cargo new test-size Created binary (application) `test-size` package ~\n$ cd test-size ~/test-size (main)\n$ cargo run Compiling test-size v0.1.0 (~/test-size) Finished dev [unoptimized + debuginfo] target(s) in 0.26s Running `target/debug/test-size`\nHello, world! ~/test-size (main)\n$ cargo size -- --version Finished dev [unoptimized + debuginfo] target(s) in 0.00s\nLLVM (http://llvm.org/): LLVM version 11.0.0-rust-1.50.0-stable Optimized build. Default target: x86_64-unknown-linux-gnu Host CPU: znver2","breadcrumbs":"Setting up a development environment » cargo-binutils","id":"20","title":"cargo-binutils"},"21":{"body":"Now follow the instructions specific to the OS you are using: Linux Windows macOS","breadcrumbs":"Setting up a development environment » OS specific instructions","id":"21","title":"OS specific instructions"},"22":{"body":"Here are the installation commands for a few Linux distributions.","breadcrumbs":"Setting up a development environment » Linux » Linux","id":"22","title":"Linux"},"23":{"body":"","breadcrumbs":"Setting up a development environment » Linux » REQUIRED packages","id":"23","title":"REQUIRED packages"},"24":{"body":"NOTE gdb-multiarch is the GDB command you'll use to debug your ARM Cortex-M programs sudo apt-get install \\ gdb-multiarch \\ minicom \\ openocd","breadcrumbs":"Setting up a development environment » Linux » Ubuntu 18.04 or newer / Debian stretch or newer","id":"24","title":"Ubuntu 18.04 or newer / Debian stretch or newer"},"25":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs sudo apt-get install \\ gdb-arm-none-eabi \\ minicom \\ openocd","breadcrumbs":"Setting up a development environment » Linux » Ubuntu 14.04 and 16.04","id":"25","title":"Ubuntu 14.04 and 16.04"},"26":{"body":"sudo dnf install \\ minicom \\ openocd \\ gdb","breadcrumbs":"Setting up a development environment » Linux » Fedora 23 or newer","id":"26","title":"Fedora 23 or newer"},"27":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs sudo pacman -S \\ arm-none-eabi-gdb \\ minicom \\ openocd","breadcrumbs":"Setting up a development environment » Linux » Arch Linux","id":"27","title":"Arch Linux"},"28":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs For distros that don't have packages for ARM's pre-built toolchain , download the \"Linux 64-bit\" file and put its bin directory on your path. Here's one way to do it: mkdir -p ~/local && cd ~/local tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 Then, use your editor of choice to append to your PATH in the appropriate shell init file (e.g. ~/.zshrc or ~/.bashrc): PATH=$PATH:$HOME/local/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux/bin","breadcrumbs":"Setting up a development environment » Linux » Other distros","id":"28","title":"Other distros"},"29":{"body":"","breadcrumbs":"Setting up a development environment » Linux » Optional packages","id":"29","title":"Optional packages"},"3":{"body":"What's out of scope for this book: Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers and embedded systems. Being a comprehensive text about electric circuit theory or electronics. We'll just cover the minimum required to understand how some devices work. Covering details such as linker scripts and the boot process. For example, we'll use existing tools to help get your code onto your board, but not go into detail about how those tools work. Also I don't intend to port this material to other development boards; this book will make exclusive use of the STM32F3DISCOVERY development board.","breadcrumbs":"Introduction » Non-goals","id":"3","title":"Non-goals"},"30":{"body":"sudo apt-get install \\ bluez \\ rfkill","breadcrumbs":"Setting up a development environment » Linux » Ubuntu / Debian","id":"30","title":"Ubuntu / Debian"},"31":{"body":"sudo dnf install \\ bluez \\ rfkill","breadcrumbs":"Setting up a development environment » Linux » Fedora","id":"31","title":"Fedora"},"32":{"body":"sudo pacman -S \\ bluez \\ bluez-utils \\ rfkill","breadcrumbs":"Setting up a development environment » Linux » Arch Linux","id":"32","title":"Arch Linux"},"33":{"body":"These rules let you use USB devices like the F3 and the Serial module without root privilege, i.e. sudo. Create 99-openocd.rules in /etc/udev/rules.d using the idVendor and idProduct from the lsusb output. For example, connect the STM32F3DISCOVERY to your computer using a USB cable. Be sure to connect the cable to the \"USB ST-LINK\" port, the USB port in the center of the edge of the board. Execute lsusb: lsusb | grep ST-LINK It should result in something like: $ lsusb | grep ST-LINK\nBus 003 Device 003: ID 0483:374b STMicroelectronics ST-LINK/V2.1 So the idVendor is 0483 and idProduct is 374b.","breadcrumbs":"Setting up a development environment » Linux » udev rules","id":"33","title":"udev rules"},"34":{"body":"sudo vi /etc/udev/rules.d/99-openocd.rules With the contents: # STM32F3DISCOVERY - ST-LINK/V2.1\nATTRS{idVendor}==\"0483\", ATTRS{idProduct}==\"374b\", MODE:=\"0666\" For older devices with OPTIONAL USB <-> FT232 based Serial Module Create /etc/udev/rules.d/99-ftdi.rules: sudo vi /etc/udev/rules.d/99-openocd.rules With the contents: # FT232 - USB <-> Serial Converter\nATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"6001\", MODE:=\"0666\"","breadcrumbs":"Setting up a development environment » Linux » Create /etc/udev/rules.d/99-openocd.rules:","id":"34","title":"Create /etc/udev/rules.d/99-openocd.rules:"},"35":{"body":"sudo udevadm control --reload-rules If you had any board plugged to your computer, unplug them and then plug them in again. Now, go to the next section .","breadcrumbs":"Setting up a development environment » Linux » Reload the udev rules with:","id":"35","title":"Reload the udev rules with:"},"36":{"body":"","breadcrumbs":"Setting up a development environment » Windows » Windows","id":"36","title":"Windows"},"37":{"body":"ARM provides .exe installers for Windows. Grab one from here , and follow the instructions. Just before the installation process finishes tick/select the \"Add path to environment variable\" option. Then verify that the tools are in your %PATH%: Verify gcc is installed: arm-none-eabi-gcc -v The results should be something like: (..)\n$ arm-none-eabi-gcc -v\ngcc version 5.4.1 20160919 (release) (..)","breadcrumbs":"Setting up a development environment » Windows » arm-none-eabi-gdb","id":"37","title":"arm-none-eabi-gdb"},"38":{"body":"There's no official binary release of OpenOCD for Windows but there are unofficial releases available here . Grab the 0.10.x zipfile and extract it somewhere in your drive (I recommend C:\\OpenOCD but with the drive letter that makes sense to you) then update your %PATH% environment variable to include the following path: C:\\OpenOCD\\bin (or the path that you used before). Verify OpenOCD is installed and in your %PATH% with: openocd -v The results should be something like: $ openocd -v\nOpen On-Chip Debugger 0.10.0\n(..)","breadcrumbs":"Setting up a development environment » Windows » OpenOCD","id":"38","title":"OpenOCD"},"39":{"body":"Download the latest putty.exe from this site and place it somewhere in your %PATH%.","breadcrumbs":"Setting up a development environment » Windows » PuTTY","id":"39","title":"PuTTY"},"4":{"body":"The source of this book is in this repository . If you encounter any typo or problem with the code report it on the issue tracker .","breadcrumbs":"Introduction » Reporting problems","id":"4","title":"Reporting problems"},"40":{"body":"You'll also need to install this USB driver or OpenOCD won't work. Follow the installer instructions and make sure you install the right (32-bit or 64-bit) version of the driver. That's all! Go to the next section .","breadcrumbs":"Setting up a development environment » Windows » ST-LINK USB driver","id":"40","title":"ST-LINK USB driver"},"41":{"body":"All the tools can be installed using Homebrew : $ # ARM GCC debugger\n$ brew install arm-none-eabi-gdb $ # Minicom and OpenOCD\n$ brew install minicom openocd That's all! Go to the next section .","breadcrumbs":"Setting up a development environment » macOS » macOS","id":"41","title":"macOS"},"42":{"body":"Let's verify that all the tools were installed correctly.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify the installation","id":"42","title":"Verify the installation"},"43":{"body":"","breadcrumbs":"Setting up a development environment » Verify the installation » Linux only","id":"43","title":"Linux only"},"44":{"body":"Connect the STM32F3DISCOVERY to your computer using an USB cable. Be sure to connect the cable to the \"USB ST-LINK\" port, the USB port in the center of the edge of the board. The STM32F3DISCOVERY should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got enumerated: lsusb | grep -i stm This should result in: $ lsusb | grep -i stm\nBus 003 Device 004: ID 0483:374b STMicroelectronics ST-LINK/V2.1\n$ # ^^^ ^^^ In my case, the STM32F3DISCOVERY got connected to the bus #3 and got enumerated as the device #4. This means the file /dev/bus/usb/003/004 is the STM32F3DISCOVERY. Let's check its permissions: $ ls -la /dev/bus/usb/003/004\ncrw-rw-rw-+ 1 root root 189, 259 Feb 28 13:32 /dev/bus/usb/003/00 The permissions should be crw-rw-rw-. If it's not ... then check your udev rules and try re-loading them with: sudo udevadm control --reload-rules For older devices with OPTIONAL USB <-> FT232 based Serial Module Unplug the STM32F3DISCOVERY and plug the Serial module. Now, figure out what's its associated file: $ lsusb | grep -i ft232\nBus 003 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC In my case, it's the /dev/bus/usb/003/005. Now, check its permissions: $ ls -l /dev/bus/usb/003/005\ncrw-rw-rw- 1 root root 189, 21 Sep 13 00:00 /dev/bus/usb/003/005 As before, the permissions should be crw-rw-rw-.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify permissions","id":"44","title":"Verify permissions"},"45":{"body":"Connect the STM32F3DISCOVERY using the USB cable to the USB port in the center of edge of the board, the one that's labeled \"USB ST-LINK\". Two red LEDs should turn on right after connecting the USB cable to the board. IMPORTANT There is more than one hardware revision of the STM32F3DISCOVERY board. For older revisions, you'll need to change the \"interface\" argument to -f interface/stlink-v2.cfg (note: no -1 at the end). Alternatively, older revisions can use -f board/stm32f3discovery.cfg instead of -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg. NOTE OpenOCD v0.11.0 has deprecated interface/stlink-v2.cfg in favor of interface/stlink.cfg which supports ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, and ST-LINK/V3.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify OpenOCD connection","id":"45","title":"Verify OpenOCD connection"},"46":{"body":"FYI: The interface directory is typically located in /usr/share/openocd/scripts/, which is the default location OpenOCD expects these files. If you've installed them somewhere else use the -s /path/to/scripts/ option to specify your install directory. openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg or openocd -f interface/stlink.cfg -f target/stm32f3x.cfg","breadcrumbs":"Setting up a development environment » Verify the installation » *Nix","id":"46","title":"*Nix"},"47":{"body":"Below the references to C:\\OpenOCD is the directory where OpenOCD is installed. openocd -s C:\\OpenOCD\\share\\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg NOTE cygwin users have reported problems with the -s flag. If you run into that problem you can add C:\\OpenOCD\\share\\scripts\\ directory to the parameters. cygwin users: openocd -f C:\\OpenOCD\\share\\scripts\\interface\\stlink-v2-1.cfg -f C:\\OpenOCD\\share\\scripts\\target\\stm32f3x.cfg","breadcrumbs":"Setting up a development environment » Verify the installation » Windows","id":"47","title":"Windows"},"48":{"body":"OpenOCD is a service which forwards debug information from the ITM channel to a file, itm.txt, as such it runs forever and does not return to the terminal prompt. The initial output of OpenOCD is something like: Open On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read http://openocd.org/doc/doxygen/bugs.html\nInfo : auto-selecting first available session transport \"hla_swd\". To override use 'transport select '.\nadapter speed: 1000 kHz\nadapter_nsrst_delay: 100\nInfo : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD\nnone separate\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : clock speed 950 kHz\nInfo : STLINK v2 JTAG v27 API v2 SWIM v15 VID 0x0483 PID 0x374B\nInfo : using stlink api v2\nInfo : Target voltage: 2.915608\nInfo : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints (If you don't ... then check the general troubleshooting instructions.) Also, one of the red LEDs, the one closest to the USB port, should start oscillating between red light and green light. That's it! It works. You can now use Ctrl-c to stop OpenOCD or close/kill the terminal.","breadcrumbs":"Setting up a development environment » Verify the installation » All","id":"48","title":"All"},"49":{"body":"Let's get familiar with the hardware we'll be working with.","breadcrumbs":"Meet your hardware » Meet your hardware","id":"49","title":"Meet your hardware"},"5":{"body":"This Discovery book is just one of several embedded Rust resources provided by the Embedded Working Group . The full selection can be found at The Embedded Rust Bookshelf . This includes the list of Frequently Asked Questions .","breadcrumbs":"Introduction » Other embedded Rust resources","id":"5","title":"Other embedded Rust resources"},"50":{"body":"We'll refer to this board as \"F3\" throughout this book. Here are some of the many components on the board: A microcontroller . A number of LEDs, including the eight aligned in a \"compass\" formation. Two buttons. Two USB ports. An accelerometer . A magnetometer . A gyroscope . Of these components, the most important is the microcontroller (sometimes shortened to \"MCU\" for \"microcontroller unit\"), which is the large black square sitting in the center of your board. The MCU is what runs your code. You might sometimes read about \"programming a board\", when in reality what we are doing is programming the MCU that is installed on the board.","breadcrumbs":"Meet your hardware » STM32F3DISCOVERY (the \"F3\")","id":"50","title":"STM32F3DISCOVERY (the \"F3\")"},"51":{"body":"Since the MCU is so important, let's take a closer look at the one sitting on our board. Our MCU is surrounded by 100 tiny metal pins . These pins are connected to traces , the little \"roads\" that act as the wires connecting components together on the board. The MCU can dynamically alter the electrical properties of the pins. This works similar to a light switch altering how electrical current flows through a circuit. By enabling or disabling electrical current to flow through a specific pin, an LED attached to that pin (via the traces) can be turned on and off. Each manufacturer uses a different part numbering scheme, but many will allow you to determine information about a component simply by looking at the part number. Looking at our MCU's part number (STM32F303VCT6), the ST at the front hints to us that this is a part manufactured by ST Microelectronics . Searching through ST's marketing materials we can also learn the following: The M32 represents that this is an Arm®-based 32-bit microcontroller. The F3 represents that the MCU is from ST's \"STM32F3\" series. This is a series of MCUs based on the Cortex®-M4 processor design. The remainder of the part number goes into more details about things like extra features and RAM size, which at this point we're less concerned about.","breadcrumbs":"Meet your hardware » STM32F303VCT6 (the \"STM32F3\")","id":"51","title":"STM32F303VCT6 (the \"STM32F3\")"},"52":{"body":"If our chip is manufactured by ST, then who is Arm? And if our chip is the STM32F3, what is the Cortex-M4? You might be surprised to hear that while \"Arm-based\" chips are quite popular, the company behind the \"Arm\" trademark ( Arm Holdings ) doesn't actually manufacture chips for purchase. Instead, their primary business model is to just design parts of chips. They will then license those designs to manufacturers, who will in turn implement the designs (perhaps with some of their own tweaks) in the form of physical hardware that can then be sold. Arm's strategy here is different from companies like Intel, which both designs and manufactures their chips. Arm licenses a bunch of different designs. Their \"Cortex-M\" family of designs are mainly used as the core in microcontrollers. For example, the Cortex-M0 is designed for low cost and low power usage. The Cortex-M7 is higher cost, but with more features and performance. The core of our STM32F3 is based on the Cortex-M4, which is in the middle: more features and performance than the Cortex-M0, but less expensive than the Cortex-M7. Luckily, you don't need to know too much about different types of processors or Cortex designs for the sake of this book. However, you are hopefully now a bit more knowledgeable about the terminology of your device. While you are working specifically with an STM32F3, you might find yourself reading documentation and using tools for Cortex-M-based chips, as the STM32F3 is based on a Cortex-M design.","breadcrumbs":"Meet your hardware » Arm? Cortex-M4?","id":"52","title":"Arm? Cortex-M4?"},"53":{"body":"If you have an older revision of the discovery board, you can use this module to exchange data between the microcontroller in the F3 and your computer. This module will be connected to your computer using an USB cable. I won't say more at this point. If you have a newer release of the board then you don't need this module. The ST-LINK will double as a USB<->serial converter connected to the microcontroller USART1 at pins PC4 and PC5.","breadcrumbs":"Meet your hardware » The Serial module","id":"53","title":"The Serial module"},"54":{"body":"This module has the exact same purpose as the serial module but it sends the data over Bluetooth instead of over USB.","breadcrumbs":"Meet your hardware » The Bluetooth module","id":"54","title":"The Bluetooth module"},"55":{"body":"Alright, let's start by building the following application: I'm going to give you a high level API to implement this app but don't worry we'll do low level stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging process. Throughout this text we'll be using the starter code that's in the discovery repository. Make sure you always have the latest version of the master branch because this website tracks that branch. The starter code is in the src directory of that repository. Inside that directory there are more directories named after each chapter of this book. Most of those directories are starter Cargo projects. Now, jump into the src/05-led-roulette directory. Check the src/main.rs file: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux5::entry; #[entry]\nfn main() -> ! { let _y; let x = 42; _y = x; // infinite loop; just so we don't leave this stack frame loop {}\n} Microcontroller programs are different from standard programs in two aspects: #![no_std] and #![no_main]. The no_std attribute says that this program won't use the std crate, which assumes an underlying OS; the program will instead use the core crate, a subset of std that can run on bare metal systems (i.e., systems without OS abstractions like files and sockets). The no_main attribute says that this program won't use the standard main interface, which is tailored for command line applications that receive arguments. Instead of the standard main we'll use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this program we have named the entry point \"main\", but any other name could have been used. The entry point function must have the signature fn() -> !; this type indicates that the function can't return – this means that the program never terminates. If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the linking process to tailor the memory layout of the program to the requirements of the target device. This modified linking process is a requirement of the cortex-m-rt crate. You'll also be making further tweaks to .cargo/config in future sections to make building and debugging easier. Alright, let's start by building this program.","breadcrumbs":"LED roulette » LED roulette","id":"55","title":"LED roulette"},"56":{"body":"The first step is to build our \"binary\" crate. Because the microcontroller has a different architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the argument of that flag: the name of the target. The microcontroller in the F3 has a Cortex-M4F processor in it. rustc knows how to cross compile to the Cortex-M architecture and provides 4 different targets that cover the different processor families within that architecture: thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors thumbv7m-none-eabi, for the Cortex-M3 processor thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors thumbv7em-none-eabihf, for the Cortex-M4 F and Cortex-M7 F processors For the F3, we'll use the thumbv7em-none-eabihf target. Before cross compiling you have to download a pre-compiled version of the standard library (a reduced version of it actually) for your target. That's done using rustup: rustup target add thumbv7em-none-eabihf You only need to do the above step once; rustup will re-install a new standard library (rust-std component) whenever you update your toolchain. With the rust-std component in place you can now cross compile the program using Cargo. NOTE Make sure you are in the src/05-led-roulette directory and run cargo build command below to create the executable: cargo build --target thumbv7em-none-eabihf On your console you should see something like: $ cargo build --target thumbv7em-none-eabihf Compiling typenum v1.12.0 Compiling semver-parser v0.7.0 Compiling version_check v0.9.2 Compiling nb v1.0.0 Compiling void v1.0.2 Compiling autocfg v1.0.1 Compiling cortex-m v0.7.1 Compiling proc-macro2 v1.0.24 Compiling vcell v0.1.3 Compiling unicode-xid v0.2.1 Compiling stable_deref_trait v1.2.0 Compiling syn v1.0.60 Compiling bitfield v0.13.2 Compiling cortex-m v0.6.7 Compiling cortex-m-rt v0.6.13 Compiling r0 v0.2.2 Compiling stm32-usbd v0.5.1 Compiling stm32f3 v0.12.1 Compiling usb-device v0.2.7 Compiling cfg-if v1.0.0 Compiling paste v1.0.4 Compiling stm32f3-discovery v0.6.0 Compiling embedded-dma v0.1.2 Compiling volatile-register v0.2.0 Compiling nb v0.1.3 Compiling embedded-hal v0.2.4 Compiling semver v0.9.0 Compiling generic-array v0.14.4 Compiling switch-hal v0.3.2 Compiling num-traits v0.2.14 Compiling num-integer v0.1.44 Compiling rustc_version v0.2.3 Compiling bare-metal v0.2.5 Compiling cast v0.2.3 Compiling quote v1.0.9 Compiling generic-array v0.13.2 Compiling generic-array v0.12.3 Compiling generic-array v0.11.1 Compiling panic-itm v0.4.2 Compiling lsm303dlhc v0.2.0 Compiling as-slice v0.1.4 Compiling micromath v1.1.0 Compiling accelerometer v0.12.0 Compiling chrono v0.4.19 Compiling aligned v0.3.4 Compiling rtcc v0.2.0 Compiling cortex-m-rt-macros v0.1.8 Compiling stm32f3xx-hal v0.6.1 Compiling aux5 v0.2.0 (~/embedded-discovery/src/05-led-roulette/auxiliary) Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette) Finished dev [unoptimized + debuginfo] target(s) in 17.91s NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml file and build command above will ensure optimizations are off. OK, now we have produced an executable. This executable won't blink any LEDs, it's just a simplified version that we will build upon later in the chapter. As a sanity check, let's verify that the produced executable is actually an ARM binary: cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header The cargo readobj .. above is equivalent to readelf -h target/thumbv7em-none-eabihf/debug/led-roulette and should produce something similar to: $ cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: ARM Version: 0x1 Entry point address: 0x8000195 Start of program headers: 52 (bytes into file) Start of section headers: 818328 (bytes into file) Flags: 0x5000400 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 4 Size of section headers: 40 (bytes) Number of section headers: 22 Section header string table index: 20 Next, we'll flash the program into our microcontroller.","breadcrumbs":"LED roulette » Build it » Build it","id":"56","title":"Build it"},"57":{"body":"Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once flashed, the microcontroller will execute the flashed program every time it is powered on. In this case, our led-roulette program will be the only program in the microcontroller memory. By this I mean that there's nothing else running on the microcontroller: no OS, no \"daemon\", nothing. led-roulette has full control over the device. Onto the actual flashing. First thing we need to do is launch OpenOCD. We did that in the previous section but this time we'll run the command inside a temporary directory (/tmp on *nix; %TEMP% on Windows). Make sure the F3 is connected to your computer and run the following commands in a new terminal .","breadcrumbs":"LED roulette » Flash it » Flash it","id":"57","title":"Flash it"},"58":{"body":"cd /tmp\nopenocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg","breadcrumbs":"LED roulette » Flash it » For *nix & MacOS:","id":"58","title":"For *nix & MacOS:"},"59":{"body":"cd %TEMP%\nopenocd -s C:\\share\\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg NOTE Older revisions of the board need to pass slightly different arguments to openocd. Review this section for the details. The program will block; leave that terminal open. Now it's a good time to explain what the openocd command is actually doing. I mentioned that the STM32F3DISCOVERY (aka F3) actually has two microcontrollers. One of them is used as a programmer/debugger. The part of the board that's used as a programmer is called ST-LINK (that's what STMicroelectronics decided to call it). This ST-LINK is connected to the target microcontroller using a Serial Wire Debug (SWD) interface (this interface is an ARM standard so you'll run into it when dealing with other Cortex-M based microcontrollers). This SWD interface can be used to flash and debug a microcontroller. The ST-LINK is connected to the \"USB ST-LINK\" port and will appear as a USB device when you connect the F3 to your computer. As for OpenOCD, it's software that provides some services like a GDB server on top of USB devices that expose a debugging protocol like SWD or JTAG. Onto the actual command: those .cfg files we are using instruct OpenOCD to look for a ST-LINK USB device (interface/stlink-v2-1.cfg) and to expect a STM32F3XX microcontroller (target/stm32f3x.cfg) to be connected to the ST-LINK. The OpenOCD output looks like this: $ openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg\nOpen On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read http://openocd.org/doc/doxygen/bugs.html\nInfo : auto-selecting first available session transport \"hla_swd\". To override use 'transport select '.\nadapter speed: 1000 kHz\nadapter_nsrst_delay: 100\nInfo : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD\nnone separate\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : clock speed 950 kHz\nInfo : STLINK v2 JTAG v37 API v2 SWIM v26 VID 0x0483 PID 0x374B\nInfo : using stlink api v2\nInfo : Target voltage: 2.888183\nInfo : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints The \"6 breakpoints, 4 watchpoints\" part indicates the debugging features the processor has available. Leave that openocd process running, and in the previous terminal or a new terminal make sure that you are inside the project's src/05-led-roulette/ directory . I mentioned that OpenOCD provides a GDB server so let's connect to that right now:","breadcrumbs":"LED roulette » Flash it » For Windows Note : substitute C: for the actual OpenOCD path:","id":"59","title":"For Windows Note : substitute C: for the actual OpenOCD path:"},"6":{"body":"Many thanks to integer 32 for sponsoring me to work on this book! Please give them lots of work (they do Rust consulting!) so they'll have no choice but to hire more Rustaceans <3.","breadcrumbs":"Introduction » Sponsored by","id":"6","title":"Sponsored by"},"60":{"body":"First, we need to determine what version of gdb you have that is capable of debugging ARM binaries. This could be any one of the commands below, try each one: arm-none-eabi-gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette gdb-multiarch -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette NOTE : If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory error, try adding ../../ to the file path, for example: $ gdb -q -ex \"target remote :3333\" ../../target/thumbv7em-none-eabihf/debug/led-roulette This is caused by each example project being in a workspace that contains the entire book, and workspaces have a single target directory. Check out [Workspaces chapter in Rust Book] for more.","breadcrumbs":"LED roulette » Flash it » Execute GDB","id":"60","title":"Execute GDB"},"61":{"body":"You can detect a failing case if there is a warning or error after the Remote debugging using :3333 line: $ gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette\nReading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...\nRemote debugging using :3333\nwarning: Architecture rejected target-supplied description\nTruncated register 16 in remote 'g' packet\n(gdb)","breadcrumbs":"LED roulette » Flash it » Failing case","id":"61","title":"Failing case"},"62":{"body":"Successful case 1: $ arm-none-eabi-gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette\nReading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...\nRemote debugging using :3333\ncortex_m_rt::Reset () at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:497\n497 pub unsafe extern \"C\" fn Reset() -> ! {\n(gdb) Successful case 2: ~/embedded-discovery/src/05-led-roulette (master)\n$ arm-none-eabi-gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette\nReading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...\nRemote debugging using :3333\n0x00000000 in ?? ()\n(gdb) In both failing and successful cases you should see new output in the OpenOCD terminal , something like the following: Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints\n+Info : accepting 'gdb' connection on tcp/3333\n+Info : device id = 0x10036422\n+Info : flash size = 256kbytes NOTE If you are getting an error like undefined debug reason 7 - target needs reset, you can try running monitor reset halt as described here . By default OpenOCD's GDB server listens on TCP port 3333 (localhost). This command is connecting to that port.","breadcrumbs":"LED roulette » Flash it » Successful case","id":"62","title":"Successful case"},"63":{"body":"Now that you've successfully determined which debugger you need to use we need to change ../.cargo/config.toml so that the cargo run command will succeed. NOTE cargo is the Rust package manager and you can read about it here . Get back to the terminal prompt and look at ../.cargo/config.toml: ~/embedded-discovery/src/05-led-roulette\n$ cat ../.cargo/config.toml\n# default runner starts a GDB sesssion, which requires OpenOCD to be\n# running, e.g.,\n## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg\n# depending on your local GDB, pick one of the following\n[target.thumbv7em-none-eabihf]\nrunner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n# runner = \"gdb-multiarch -q -x ../openocd.gdb\"\n# runner = \"gdb -q -x ../openocd.gdb\"\nrustflags = [ \"-C\", \"link-arg=-Tlink.x\",\n] [build]\ntarget = \"thumbv7em-none-eabihf\" Use your favorite editor to edit ../.cargo/config.toml so that the runner line contains the correct name of that debugger: nano ../.cargo/config.toml For example, if your debugger was gdb-multiarch then after editing the git diff should be: $ git diff ../.cargo/config.toml\ndiff --git a/f3discovery/src/.cargo/config.toml b/f3discovery/src/.cargo/config.toml\nindex 2f38f6b..95860a0 100644\n--- a/f3discovery/src/.cargo/config.toml\n+++ b/f3discovery/src/.cargo/config.toml\n@@ -3,8 +3,8 @@ ## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg # depending on your local GDB, pick one of the following [target.thumbv7em-none-eabihf]\n-runner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n-# runner = \"gdb-multiarch -q -x ../openocd.gdb\"\n+# runner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n+runner = \"gdb-multiarch -q -x ../openocd.gdb\" # runner = \"gdb -q -x ../openocd.gdb\" rustflags = [ \"-C\", \"link-arg=-Tlink.x\", Now that you have ../.cargo/config.toml setup let's test it using cargo run to start the debug session. NOTE The --target thumbv7em-none-eabihf defines which architecture to build and run. In our ../.cargo/config.toml file we have target = \"thumbv7em-none-eabihf\" so it is actually not necessary to specify --target we do it here just so you know that parameters on the command line can be used and they override those in config.toml files. cargo run --target thumbv7em-none-eabihf Results in: ~/embedded-discovery/src/05-led-roulette\n$ cargo run --target thumbv7em-none-eabihf Finished dev [unoptimized + debuginfo] target(s) in 0.14s Running `gdb-multiarch -q -x ../openocd.gdb /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette...\n0x08000230 in core::fmt::Arguments::new_v1 (pieces=..., args=...) at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs:394\n394\t/rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs: No such file or directory.\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x1ad8 lma 0x8000194\nLoading section .rodata, size 0x5a4 lma 0x8001c6c\nStart address 0x08000194, load size 8720\nTransfer rate: 12 KB/sec, 2906 bytes/write.\nBreakpoint 1 at 0x80001e8: file src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses.\nBreakpoint 2 at 0x800020a: file src/lib.rs, line 570.\nBreakpoint 3 at 0x8001c5a: file src/lib.rs, line 560. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7\n7\t#[entry]\nhalted: PC: 0x080001ee\nled_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10\n10 let x = 42; Bravo, we will be modifying ../.cargo/config.toml in future. But , since this file is shared with all of the chapters those changes should be made with that in mind. If you want or we need to make changes that only pertain to a particular chapter then create a .cargo/config.toml local to that chapter directory.","breadcrumbs":"LED roulette » Flash it » Update ../.cargo/config.toml","id":"63","title":"Update ../.cargo/config.toml"},"64":{"body":"Assuming you have GDB running, if not start it as suggested in the previous section. NOTE The -x ../openocd.gdb arguments to gdb is already setup to flash the device, so explicitly flashing the project code to the device is normally handled with a simple cargo run. We'll cover the openocd configuration script in the next section. Now use the load command in gdb to actually flash the program into the device: (gdb) load\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x20ec lma 0x8000194\nLoading section .rodata, size 0x514 lma 0x8002280\nStart address 0x08000194, load size 10132\nTransfer rate: 17 KB/sec, 3377 bytes/write. You'll also see new output in the OpenOCD terminal, something like: Info : flash size = 256kbytes\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+adapter speed: 950 kHz\n+target halted due to debug-request, current mode: Thread\n+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000\n+Info : Unable to match requested speed 8000 kHz, using 4000 kHz\n+Info : Unable to match requested speed 8000 kHz, using 4000 kHz\n+adapter speed: 4000 kHz\n+target halted due to breakpoint, current mode: Thread\n+xPSR: 0x61000000 pc: 0x2000003a msp: 0x2000a000\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+adapter speed: 950 kHz\n+target halted due to debug-request, current mode: Thread\n+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000 Our program is loaded, let's debug it!","breadcrumbs":"LED roulette » Flash it » Flash the device","id":"64","title":"Flash the device"},"65":{"body":"We are already inside a debugging session so let's debug our program. After the load command, our program is stopped at its entry point . This is indicated by the \"Start address 0x8000XXX\" part of GDB's output. The entry point is the part of a program that a processor / CPU will execute first. The starter project I've provided to you has some extra code that runs before the main function. At this time, we are not interested in that \"pre-main\" part so let's skip right to the beginning of the main function. We'll do that using a breakpoint. Issue break main at the (gdb) prompt: NOTE For these GDB commands I generally won't provide a copyable code block as these are short and it's faster just to type them yourself. In addition most can be shortened. For instance b for break or s for step, see GDB Quick Reference for more info or use Google to find your others. In addition, you can use tab completion by typing the first few letters than one tab to complete or two tabs to see all possible commands. Finally, help xxxx where xxxx is the command will provide short names and other info: (gdb) help s\nstep, s\nStep program until it reaches a different source line.\nUsage: step [N]\nArgument N means step N times (or till program stops for another reason). (gdb) break main\nBreakpoint 1 at 0x80001f0: file src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses. Next issue a continue command: (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7\n7 #[entry] Breakpoints can be used to stop the normal flow of a program. The continue command will let the program run freely until it reaches a breakpoint. In this case, until it reaches #[entry] which is a trampoline to the main function and where break main sets the breakpoint. Note that GDB output says \"Breakpoint 1\". Remember that our processor can only use six of these breakpoints so it's a good idea to pay attention to these messages. OK. Since we are stopped at #[entry] and using the disassemble /m we see the code for entry, which is a trampoline to main. That means it sets up the stack and then invokes a subroutine call to the main function using an ARM branch and link instruction, bl. (gdb) disassemble /m\nDump of assembler code for function main:\n7 #[entry] 0x080001ec <+0>: push {r7, lr} 0x080001ee <+2>: mov r7, sp\n=> 0x080001f0 <+4>: bl 0x80001f6 <_ZN12led_roulette18__cortex_m_rt_main17he61ef18c060014a5E> 0x080001f4 <+8>: udf #254 ; 0xfe End of assembler dump. Next we need to issue a step GDB command which will advance the program statement by statement stepping into functions/procedures. So after this first step command we're inside main and are positioned at the first executable rust statement, line 10, but it is not executed: (gdb) step\nled_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10\n10 let x = 42; Next we'll issue a second step which executes line 10 and stops at line 11 _y = x;, again line 11 is not executed. NOTE We could have pressed enter at the second (gdb) prompt and it would have reissued the previous statement, step, but for clarity in this tutorial we'll generally retype the command. (gdb) step\n11 _y = x; As you can see, in this mode, on each step command GDB will print the current statement along with its line number. As you'll see later in the TUI mode you'll not see the statement in the command area. We are now \"on\" the _y = x statement; that statement hasn't been executed yet. This means that x is initialized but _y is not. Let's inspect those stack/local variables using the print command, p for short: (gdb) print x\n$1 = 42\n(gdb) p &x\n$2 = (*mut i32) 0x20009fe0\n(gdb) p _y\n$3 = 536870912\n(gdb) p &_y\n$4 = (*mut i32) 0x20009fe4 As expected, x contains the value 42. _y, however, contains the value 536870912 (?). This is because _y has not been initialized yet, it contains some garbage value. The command print &x prints the address of the variable x. The interesting bit here is that GDB output shows the type of the reference: *mut i32, a mutable pointer to an i32 value. Another interesting thing is that the addresses of x and _y are very close to each other: their addresses are just 4 bytes apart. Instead of printing the local variables one by one, you can also use the info locals command: (gdb) info locals\nx = 42\n_y = 536870912 OK. With another step, we'll be on top of the loop {} statement: (gdb) step\n14 loop {} And _y should now be initialized. (gdb) print _y\n$5 = 42 If we use step again on top of the loop {} statement, we'll get stuck because the program will never pass that statement. NOTE If you used the step or any other command by mistake and GDB gets stuck, you can get it unstuck by hitting Ctrl+C. As introduced above the disassemble /m command can be used to disassemble the program around the line you are currently at. You might also want to set print asm-demangle on so the names are demangled, this only needs to be done once a debug session. Later this and other commands will be placed in an initialization file which will simplify starting a debug session. (gdb) set print asm-demangle on\n(gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:\n8 fn main() -> ! { 0x080001f6 <+0>: sub sp, #8 0x080001f8 <+2>: movs r0, #42 ; 0x2a 9 let _y;\n10 let x = 42; 0x080001fa <+4>: str r0, [sp, #0] 11 _y = x; 0x080001fc <+6>: str r0, [sp, #4] 12\n13 // infinite loop; just so we don't leave this stack frame\n14 loop {}\n=> 0x080001fe <+8>: b.n 0x8000200 0x08000200 <+10>: b.n 0x8000200 End of assembler dump. See the fat arrow => on the left side? It shows the instruction the processor will execute next. Also, as mentioned above if you were to execute the step command GDB gets stuck because it is executing a branch instruction to itself and never gets past it. So you need to use Ctrl+C to regain control. An alternative is to use the stepi(si) GDB command, which steps one asm instruction, and GDB will print the address and line number of the statement the processor will execute next and it won't get stuck. (gdb) stepi\n0x08000194 14 loop {} (gdb) si\n0x08000194 14 loop {} One last trick before we move to something more interesting. Enter the following commands into GDB: (gdb) monitor reset halt\nUnable to match requested speed 1000 kHz, using 950 kHz\nUnable to match requested speed 1000 kHz, using 950 kHz\nadapter speed: 950 kHz\ntarget halted due to debug-request, current mode: Thread\nxPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000 (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7\n7 #[entry] (gdb) disassemble /m\nDump of assembler code for function main:\n7 #[entry] 0x080001ec <+0>: push {r7, lr} 0x080001ee <+2>: mov r7, sp\n=> 0x080001f0 <+4>: bl 0x80001f6 0x080001f4 <+8>: udf #254 ; 0xfe End of assembler dump. We are now back at the beginning of #[entry]! monitor reset halt will reset the microcontroller and stop it right at the beginning of the program. The continue command will then let the program run freely until it reaches a breakpoint, in this case it is the breakpoint at #[entry]. This combo is handy when you, by mistake, skipped over a part of the program that you were interested in inspecting. You can easily roll back the state of your program back to its very beginning. The fine print : This reset command doesn't clear or touch RAM. That memory will retain its values from the previous run. That shouldn't be a problem though, unless your program behavior depends of the value of uninitialized variables but that's the definition of Undefined Behavior (UB). We are done with this debug session. You can end it with the quit command. (gdb) quit\nA debugging session is active. Inferior 1 [Remote target] will be detached. Quit anyway? (y or n) y\nDetaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target\nEnding remote debugging. For a nicer debugging experience, you can use GDB's Text User Interface (TUI). To enter into that mode enter one of the following commands in the GDB shell: (gdb) layout src\n(gdb) layout asm\n(gdb) layout split NOTE Apologies to Windows users, the GDB shipped with the GNU ARM Embedded Toolchain may not support this TUI mode :-(. Below is an example of setting up for a layout split by executing the follow commands. As you can see we've dropped passing the --target parameter: $ cargo run\n(gdb) target remote :3333\n(gdb) load\n(gdb) set print asm-demangle on\n(gdb) set style sources off\n(gdb) break main\n(gdb) continue Here is a command line with the above commands as -ex parameters to save you some typing, shortly we'll be providing an easier way to execute the initial set of commands: cargo run -- -q -ex 'target remote :3333' -ex 'load' -ex 'set print asm-demangle on' -ex 'set style sources off' -ex 'b main' -ex 'c' target/thumbv7em-none-eabihf/debug/led-roulette And below is the result: GDB session layout split Now we'll scroll the top source window down so we see the entire file and execute layout split and then step: GDB session layout split Then we'll execute a few info locals and step's: (gdb) info locals\n(gdb) step\n(gdb) info locals\n(gdb) step\n(gdb) info locals GDB session layout split At any point you can leave the TUI mode using the following command: (gdb) tui disable GDB session layout split NOTE If the default GDB CLI is not to your liking check out gdb-dashboard . It uses Python to turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view and other things. Don't close OpenOCD though! We'll use it again and again later on. It's better just to leave it running. If you want to learn more about what GDB can do, check out the section How to use GDB . What's next? The high level API I promised.","breadcrumbs":"LED roulette » Debug it » Debug it","id":"65","title":"Debug it"},"66":{"body":"Now, I'm going to introduce two high level abstractions that we'll use to implement the LED roulette application. The auxiliary crate, aux5, exposes an initialization function called init. When called this function returns two values packed in a tuple: a Delay value and a LedArray value. Delay can be used to block your program for a specified amount of milliseconds. LedArray is an array of eight Leds. Each Led represents one of the LEDs on the F3 board, and exposes two methods: on and off which can be used to turn the LED on or off, respectively. Let's try out these two abstractions by modifying the starter code to look like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux5::{entry, Delay, DelayMs, LedArray, OutputSwitch}; #[entry]\nfn main() -> ! { let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); let half_period = 500_u16; loop { leds[0].on().ok(); delay.delay_ms(half_period); leds[0].off().ok(); delay.delay_ms(half_period); }\n} Now build it: cargo build NOTE : It's possible to forget to rebuild the program before starting a GDB session; this omission can lead to very confusing debug sessions. To avoid this problem you can call just cargo run instead of cargo build. The cargo run command will build and start a debug session ensuring you never forget to recompile your program. Now we'll run and repeat the flashing procedure as we did in the previous section but with the new program. I'll let you type in the cargo run, this will get easier shortly . :) NOTE : Don't forget to start openocd (debugger) on a separate terminal. Otherwise target remote :3333 won't work! $ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette... (gdb) target remote :3333\nRemote debugging using :3333\nled_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry] (gdb) load\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x52c0 lma 0x8000194\nLoading section .rodata, size 0xb50 lma 0x8005454\nStart address 0x08000194, load size 24484\nTransfer rate: 21 KB/sec, 6121 bytes/write. (gdb) break main\nBreakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses. (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry] (gdb) step\nled_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9\n9 let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); (gdb) OK. Let's step through the code. This time, we'll use the next command instead of step. The difference is that the next command will step over function calls instead of going inside them. (gdb) next\n11 let half_period = 500_u16; (gdb) next\n13 loop { (gdb) next\n14 leds[0].on().ok(); (gdb) next\n15 delay.delay_ms(half_period); After executing the leds[0].on().ok() statement, you should see a red LED, the one pointing North, turn on. Let's continue stepping over the program: (gdb) next\n17 leds[0].off().ok(); (gdb) next\n18 delay.delay_ms(half_period); The delay_ms call will block the program for half a second but you may not notice because the next command also takes some time to execute. However, after stepping over the leds[0].off() statement you should see the red LED turn off. You can already guess what this program does. Let it run uninterrupted using the continue command. (gdb) continue\nContinuing. Now, let's do something more interesting. We are going to modify the behavior of our program using GDB. First, let's stop the infinite loop by hitting Ctrl+C. You'll probably end up somewhere inside Led::on, Led::off or delay_ms: ^C\nProgram received signal SIGINT, Interrupt.\n0x08003434 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053 In my case, the program stopped its execution inside a read_volatile function. GDB output shows some interesting information about that: core::ptr::read_volatile (src=0xe000e010). This means that the function comes from the core crate and that it was called with argument src = 0xe000e010. Just so you know, a more explicit way to show the arguments of a function is to use the info args command: (gdb) info args\nsrc = 0xe000e010 Regardless of where your program may have stopped you can always look at the output of the backtrace command (bt for short) to learn how it got there: (gdb) backtrace\n#0 0x08003434 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053\n#1 0x08002d66 in vcell::VolatileCell::get (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/vcell-0.1.3/src/lib.rs:33\n#2 volatile_register::RW::read (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/volatile-register-0.2.0/src/lib.rs:75\n#3 cortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136\n#4 0x08003004 in stm32f3xx_hal::delay::{{impl}}::delay_us (self=0x20009fa4, us=500000) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:58\n#5 0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32\n#6 0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38\n#7 0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15\n#8 0x08000206 in led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7 backtrace will print a trace of function calls from the current function down to main. Back to our topic. To do what we are after, first, we have to return to the main function. We can do that using the finish command. This command resumes the program execution and stops it again right after the program returns from the current function. We'll have to call it several times. (gdb) finish\nRun till exit from #0 0x08003434 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053\ncortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136\n136 self.csr.read() & SYST_CSR_COUNTFLAG != 0\nValue returned is $1 = 5 (..) (gdb) finish\nRun till exit from #0 0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32\n0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38\n38 self.delay_ms(u32(ms)); (gdb) finish\nRun till exit from #0 0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38\n0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15\n15 delay.delay_ms(half_period); We are back in main. We have a local variable in here: half_period (gdb) print half_period\n$3 = 500 Now, we are going to modify this variable using the set command: (gdb) set half_period = 100 (gdb) print half_period\n$5 = 100 If you let program run free again using the continue command, you might see that the LED will blink at a much faster rate now, but more likely the blink rate didn't change. What happened? Let's stop the program with Ctrl+C and then set a break point at main:14. (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\ncore::cell::UnsafeCell::get (self=0x20009fa4) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1711\n1711 pub const fn get(&self) -> *mut T { Then set a break point at main.rs:14 and continue (gdb) break main.rs:14\nBreakpoint 2 at 0x8000236: file src/05-led-roulette/src/main.rs, line 14.\n(gdb) continue\nContinuing. Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:14\n14 leds[0].on().ok(); Now open your terminal window so it's about 80 lines long an 170 characters wide if possible. NOTE : If you can't open the terminal that large, no problem you'll just see --Type for more, q to quit, c to continue without paging-- so just type return until you see the (gdb) prompt. Then scroll your terminal window to see the results. (gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:\n8 fn main() -> ! { 0x08000208 <+0>: push {r7, lr} 0x0800020a <+2>: mov r7, sp 0x0800020c <+4>: sub sp, #64 ; 0x40 0x0800020e <+6>: add r0, sp, #32 9 let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); 0x08000210 <+8>: bl 0x8000302 0x08000214 <+12>: b.n 0x8000216 0x08000216 <+14>: add r0, sp, #32 0x08000218 <+16>: add r1, sp, #4 0x0800021a <+18>: ldmia.w r0, {r2, r3, r4, r12, lr} 0x0800021e <+22>: stmia.w r1, {r2, r3, r4, r12, lr} 0x08000222 <+26>: ldr r0, [sp, #52] ; 0x34 0x08000224 <+28>: ldr r1, [sp, #56] ; 0x38 0x08000226 <+30>: str r1, [sp, #28] 0x08000228 <+32>: str r0, [sp, #24] 0x0800022a <+34>: mov.w r0, #500 ; 0x1f4 10\n11 let half_period = 500_u16; 0x0800022e <+38>: strh.w r0, [r7, #-2] 12\n13 loop { 0x08000232 <+42>: b.n 0x8000234 0x08000234 <+44>: add r0, sp, #24 0x08000268 <+96>: b.n 0x8000234 14 leds[0].on().ok();\n=> 0x08000236 <+46>: bl 0x80001ec >>> 0x0800023a <+50>: b.n 0x800023c 0x0800023c <+52>: bl 0x8000594 ::ok<(),core::convert::Infallible>> 0x08000240 <+56>: b.n 0x8000242 0x08000242 <+58>: add r0, sp, #4 0x08000244 <+60>: mov.w r1, #500 ; 0x1f4 15 delay.delay_ms(half_period); 0x08000248 <+64>: bl 0x8002f5c 0x0800024c <+68>: b.n 0x800024e 0x0800024e <+70>: add r0, sp, #24 16\n17 leds[0].off().ok(); 0x08000250 <+72>: bl 0x800081a >>> 0x08000254 <+76>: b.n 0x8000256 0x08000256 <+78>: bl 0x8000594 ::ok<(),core::convert::Infallible>> 0x0800025a <+82>: b.n 0x800025c 0x0800025c <+84>: add r0, sp, #4 0x0800025e <+86>: mov.w r1, #500 ; 0x1f4 18 delay.delay_ms(half_period); 0x08000262 <+90>: bl 0x8002f5c 0x08000266 <+94>: b.n 0x8000268 End of assembler dump. In the above dump the reason the delay didn't change was because the compiler recognized that half_period didn't change and instead in the two places where delay.delay_ms(half_period); is called we see mov.w r1, #500. So changing the value of half_period does nothing! 0x08000244 <+60>: mov.w r1, #500 ; 0x1f4 15 delay.delay_ms(half_period); 0x08000248 <+64>: bl 0x8002f5c (..) 0x0800025e <+86>: mov.w r1, #500 ; 0x1f4 18 delay.delay_ms(half_period); 0x08000262 <+90>: bl 0x8002f5c One solution to the problem is to wrap half_period in a Volatile as shown below. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use volatile::Volatile;\nuse aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry}; #[entry]\nfn main() -> ! { let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); let mut half_period = 500_u16; let v_half_period = Volatile::new(&mut half_period); loop { leds[0].on().ok(); delay.delay_ms(v_half_period.read()); leds[0].off().ok(); delay.delay_ms(v_half_period.read()); }\n} Edit Cargo.toml adding volatile = \"0.4.3\" in the [dependencies] section. [dependencies]\naux5 = { path = \"auxiliary\" }\nvolatile = \"0.4.3\" With the above code using Volatile you can now change half_period and you'll be able to experiment with different values. Here is the list of commands followed by an explanation; # xxxx to demonstrate. $ cargo run --target thumbv7em-none-eabihf # Compile and load the program into gdb\n(gdb) target remote :3333 # Connect to STM32F3DISCOVERY board from PC\n(gdb) load # Flash program\n(gdb) break main.rs:16 # Set breakpoint 1 at top of loop\n(gdb) continue # Continue, will stop at main.rs:16\n(gdb) disable 1 # Disable breakpoint 1\n(gdb) set print asm-demangle on # Enable asm-demangle\n(gdb) disassemble /m # Disassemble main function\n(gdb) continue # Led blinking on for 1/2 sec then off 1/2 sec\n^C # Stop with Ctrl+C\n(gdb) enable 1 # Enable breakpoint 1\n(gdb) continue # Continue, will stop at main.rs:16\n(gdb) print half_period # Print half_period result is 500\n(gdb) set half_period = 2000 # Set half_period to 2000ms\n(gdb) print half_period # Print half_period and result is 2000\n(gdb) disable 1 # Disable breakpoint 1\n(gdb) continue # Led blinking on for 2 secs then off 2 sec\n^C # Stop with Ctrl+C\n(gdb) quit # Quit gdb The critical changes are at lines 13, 17 and 20 in the source code which you can see in the disassembly. At 13 we create v_half_period and then read() its value in lines 17 and 20. This means that when we set half_period = 2000 the led will now be on for 2 seconds then off for 2 seconds. $ cargo run --target thumbv7em-none-eabihf Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette) Finished dev [unoptimized + debuginfo] target(s) in 0.18s Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette... (gdb) target remote :3333\nRemote debugging using :3333\nled_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) load\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x5258 lma 0x8000194\nLoading section .rodata, size 0xbd8 lma 0x80053ec\nStart address 0x08000194, load size 24516\nTransfer rate: 21 KB/sec, 6129 bytes/write. (gdb) break main.rs:16\nBreakpoint 1 at 0x8000246: file src/05-led-roulette/src/main.rs, line 16.\nNote: automatically using hardware breakpoints for read-only addresses. (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) disable 1 (gdb) set print asm-demangle on (gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17he1f2bc7990b13731E:\n9 fn main() -> ! { 0x0800020e <+0>: push {r7, lr} 0x08000210 <+2>: mov r7, sp 0x08000212 <+4>: sub sp, #72 ; 0x48 0x08000214 <+6>: add r0, sp, #36 ; 0x24 10 let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); 0x08000216 <+8>: bl 0x800036a 0x0800021a <+12>: b.n 0x800021c 0x0800021c <+14>: add r0, sp, #36 ; 0x24 0x0800021e <+16>: add r1, sp, #8 0x08000220 <+18>: ldmia.w r0, {r2, r3, r4, r12, lr} 0x08000224 <+22>: stmia.w r1, {r2, r3, r4, r12, lr} 0x08000228 <+26>: ldr r0, [sp, #56] ; 0x38 0x0800022a <+28>: ldr r1, [sp, #60] ; 0x3c 0x0800022c <+30>: str r1, [sp, #32] 0x0800022e <+32>: str r0, [sp, #28] 0x08000230 <+34>: mov.w r0, #500 ; 0x1f4 11\n12 let mut half_period = 500_u16; 0x08000234 <+38>: strh.w r0, [r7, #-6] 0x08000238 <+42>: subs r0, r7, #6 13 let v_half_period = Volatile::new(&mut half_period); 0x0800023a <+44>: bl 0x800033e ::new<&mut u16>> 0x0800023e <+48>: str r0, [sp, #68] ; 0x44 0x08000240 <+50>: b.n 0x8000242 14\n15 loop { 0x08000242 <+52>: b.n 0x8000244 0x08000244 <+54>: add r0, sp, #28 0x08000288 <+122>: b.n 0x8000244 16 leds[0].on().ok();\n=> 0x08000246 <+56>: bl 0x800032c >>> 0x0800024a <+60>: b.n 0x800024c 0x0800024c <+62>: bl 0x80005fc ::ok<(),core::convert::Infallible>> 0x08000250 <+66>: b.n 0x8000252 0x08000252 <+68>: add r0, sp, #68 ; 0x44 17 delay.delay_ms(v_half_period.read()); 0x08000254 <+70>: bl 0x800034a ::read<&mut u16,u16,volatile::access::ReadWrite>> 0x08000258 <+74>: str r0, [sp, #4] 0x0800025a <+76>: b.n 0x800025c 0x0800025c <+78>: add r0, sp, #8 0x0800025e <+80>: ldr r1, [sp, #4] 0x08000260 <+82>: bl 0x8002fc4 0x08000264 <+86>: b.n 0x8000266 0x08000266 <+88>: add r0, sp, #28 18\n19 leds[0].off().ok(); 0x08000268 <+90>: bl 0x8000882 >>> 0x0800026c <+94>: b.n 0x800026e 0x0800026e <+96>: bl 0x80005fc ::ok<(),core::convert::Infallible>> 0x08000272 <+100>: b.n 0x8000274 0x08000274 <+102>: add r0, sp, #68 ; 0x44 20 delay.delay_ms(v_half_period.read()); 0x08000276 <+104>: bl 0x800034a ::read<&mut u16,u16,volatile::access::ReadWrite>> 0x0800027a <+108>: str r0, [sp, #0] 0x0800027c <+110>: b.n 0x800027e 0x0800027e <+112>: add r0, sp, #8 0x08000280 <+114>: ldr r1, [sp, #0] 0x08000282 <+116>: bl 0x8002fc4 0x08000286 <+120>: b.n 0x8000288 End of assembler dump. (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\n0x080037b2 in core::cell::UnsafeCell::get (self=0x20009fa0) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1716\n1716 } (gdb) enable 1 (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) print half_period\n$2 = 500 (gdb) disable 1 (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\n0x08003498 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1052\n1052 unsafe { intrinsics::volatile_load(src) } (gdb) enable 1 (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) print half_period\n$3 = 500 (gdb) set half_period = 2000 (gdb) print half_period\n$4 = 2000 (gdb) disable 1 (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\n0x0800348e in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1046\n1046 pub unsafe fn read_volatile(src: *const T) -> T { (gdb) q\nDetaching from program: ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached] Question! What happens if you start lowering the value of half_period? At what value of half_period you can no longer see the LED blink? Now, it's your turn to write a program.","breadcrumbs":"LED roulette » The led and delay abstractions » The Led and Delay abstractions","id":"66","title":"The Led and Delay abstractions"},"67":{"body":"You are now well armed to face a challenge! Your task will be to implement the application I showed you at the beginning of this chapter. Here's the GIF again: Also, this may help: This is a timing diagram. It indicates which LED is on at any given instant of time and for how long each LED should be on. On the X axis we have the time in milliseconds. The timing diagram shows a single period. This pattern will repeat itself every 800 ms. The Y axis labels each LED with a cardinal point: North, East, etc. As part of the challenge you'll have to figure out how each element in the Leds array maps to these cardinal points (hint: cargo doc --open ;-)). Before you attempt this challenge, let me give you one additonal tip. Our GDB sessions always involve entering the same commands at the beginning. We can use a .gdb file to execute some commands right after GDB is started. This way you can save yourself the effort of having to enter them manually on each GDB session. As it turns out we've already created ../openocd.gdb and you can see it's doing pretty much what we did in the previous section plus a few other commands. Look at the comments for additional information: $ cat ../openocd.gdb\n# Connect to gdb remote server\ntarget remote :3333 # Load will flash the code\nload # Eanble demangling asm names on disassembly\nset print asm-demangle on # Enable pretty printing\nset print pretty on # Disable style sources as the default colors can be hard to read\nset style sources off # Initialize monitoring so iprintln! macro output\n# is sent from the itm port to itm.txt\nmonitor tpiu config internal itm.txt uart off 8000000 # Turn on the itm port\nmonitor itm port 0 on # Set a breakpoint at main, aka entry\nbreak main # Set a breakpiont at DefaultHandler\nbreak DefaultHandler # Set a breakpiont at HardFault\nbreak HardFault # Continue running and until we hit the main breakpoint\ncontinue # Step from the trampoline code in entry into main\nstep Now we need to modify the ../.cargo/config.toml file to execute ../openocd.gdb nano ../.cargo/config.toml Edit your runner command -x ../openocd.gdb. Assuming you're using arm-none-eabi-gdb the diff is: ~/embedded-discovery/src/05-led-roulette\n$ git diff ../.cargo/config.toml\ndiff --git a/src/.cargo/config.toml b/src/.cargo/config.toml\nindex ddff17f..02ac952 100644\n--- a/src/.cargo/config.toml\n+++ b/src/.cargo/config.toml\n@@ -1,5 +1,5 @@ [target.thumbv7em-none-eabihf]\n-runner = \"arm-none-eabi-gdb -q\"\n+runner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\" # runner = \"gdb-multiarch -q\" # runner = \"gdb -q\" rustflags = [ And the full contents of ../.cargo/config.toml, again assuming arm-none-eabi-gdb, is: [target.thumbv7em-none-eabihf]\nrunner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n# runner = \"gdb-multiarch -q\"\n# runner = \"gdb -q\"\nrustflags = [ \"-C\", \"link-arg=-Tlink.x\",\n] [build]\ntarget = \"thumbv7em-none-eabihf\" With that in place, you can now use a simple cargo run command which will build the ARM version of the code and run the gdb session. The gdb session will automatically flash the program and jump to the beginning of main as it step's through the entry trampoline: cargo run ~/embedded-discovery/src/05-led-roulette (Update-05-led-roulette-WIP)\n$ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `arm-none-eabi-gdb -q -x openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...\nled_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry]\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x52c0 lma 0x8000194\nLoading section .rodata, size 0xb50 lma 0x8005454\nStart address 0x08000194, load size 24484\nTransfer rate: 21 KB/sec, 6121 bytes/write.\nBreakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry]\nled_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9\n9 let (mut delay, mut leds): (Delay, LedArray) = aux5::init();","breadcrumbs":"LED roulette » The challenge » The challenge","id":"67","title":"The challenge"},"68":{"body":"If you haven't already ready, it's probably a good idea to fork the embedded discovery book so you can save your changes in your own branch of your fork. We suggest creating your own branch and leaving the master branch alone so the master branch of your fork can stay in sync with the upstream repo. Also, it allows you to more easily create PR's and improve this book, thank you in advance !","breadcrumbs":"LED roulette » The challenge » Fork the discovery book","id":"68","title":"Fork the discovery book"},"69":{"body":"What solution did you come up with? Here's mine: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry}; #[entry]\nfn main() -> ! { let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); let ms = 50_u8; loop { for curr in 0..8 { let next = (curr + 1) % 8; leds[next].on().ok(); delay.delay_ms(ms); leds[curr].off().ok(); delay.delay_ms(ms); } }\n} One more thing! Check that your solution also works when compiled in \"release\" mode: $ cargo build --target thumbv7em-none-eabihf --release You can test it with this gdb command: $ # or, you could simply call `cargo run --target thumbv7em-none-eabihf --release`\n$ arm-none-eabi-gdb target/thumbv7em-none-eabihf/release/led-roulette\n$ # ~~~~~~~ Binary size is something we should always keep an eye on! How big is your solution? You can check that using the size command on the release binary: $ # equivalent to size target/thumbv7em-none-eabihf/debug/led-roulette\n$ cargo size --target thumbv7em-none-eabihf --bin led-roulette -- -A Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 404 0x8000000\n.text 21144 0x8000194\n.rodata 3144 0x800542c\n.data 0 0x20000000\n.bss 4 0x20000000\n.uninit 0 0x20000004\n.debug_abbrev 19160 0x0\n.debug_info 471239 0x0\n.debug_aranges 18376 0x0\n.debug_ranges 102536 0x0\n.debug_str 508618 0x0\n.debug_pubnames 76975 0x0\n.debug_pubtypes 112797 0x0\n.ARM.attributes 58 0x0\n.debug_frame 55848 0x0\n.debug_line 282067 0x0\n.debug_loc 845 0x0\n.comment 147 0x0\nTotal 1673362 $ cargo size --target thumbv7em-none-eabihf --bin led-roulette --release -- -A Finished release [optimized + debuginfo] target(s) in 0.03s\nled-roulette :\nsection size addr\n.vector_table 404 0x8000000\n.text 5380 0x8000194\n.rodata 564 0x8001698\n.data 0 0x20000000\n.bss 4 0x20000000\n.uninit 0 0x20000004\n.debug_loc 9994 0x0\n.debug_abbrev 1821 0x0\n.debug_info 74974 0x0\n.debug_aranges 600 0x0\n.debug_ranges 6848 0x0\n.debug_str 52828 0x0\n.debug_pubnames 20821 0x0\n.debug_pubtypes 18891 0x0\n.ARM.attributes 58 0x0\n.debug_frame 1088 0x0\n.debug_line 15307 0x0\n.comment 19 0x0\nTotal 209601 NOTE The Cargo project is already configured to build the release binary using LTO. Know how to read this output? The text section contains the program instructions. It's around 5.25KB in my case. On the other hand, the data and bss sections contain variables statically allocated in RAM (static variables). A static variable is being used in aux5::init; that's why it shows 4 bytes of bss. One final thing! We have been running our programs from within GDB but our programs doesn't depend on GDB at all. You can confirm this be closing both GDB and OpenOCD and then resetting the board by pressing the black button on the board. The LED roulette application will run without intervention of GDB.","breadcrumbs":"LED roulette » My solution » My solution","id":"69","title":"My solution"},"7":{"body":"","breadcrumbs":"Background » Background","id":"7","title":"Background"},"70":{"body":"HEADS UP The \"solder bridge\" SB10 (see back of the board) on the STM32F3DISCOVERY, which is required to use the ITM and the iprint! macros shown below, is not soldered by default (see page 21 of the User Manual ). (To be more accurate: this actually depends on the board revision. If you have an old version of the board as the old User Manual said, the SB10 was soldered. Check your board to decide whether you need to fix it.) TL;DR You have two options to fix this: Either solder the solder bridge SB10 or connect a female to female jumper wire between SWO and PB3 as shown in the picture below. Just a little more of helpful magic before we start doing low level stuff. Blinking an LED is like the \"Hello, world\" of the embedded world. But in this section, we'll run a proper \"Hello, world\" program that prints stuff to your computer console. Go to the 06-hello-world directory. There's some starter code in it: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux6::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let mut itm = aux6::init(); iprintln!(&mut itm.stim[0], \"Hello, world!\"); loop {}\n} The iprintln macro will format messages and output them to the microcontroller's ITM . ITM stands for Instrumentation Trace Macrocell and it's a communication protocol on top of SWD (Serial Wire Debug) which can be used to send messages from the microcontroller to the debugging host. This communication is only one way : the debugging host can't send data to the microcontroller. OpenOCD, which is managing the debug session, can receive data sent through this ITM channel and redirect it to a file. The ITM protocol works with frames (you can think of them as Ethernet frames). Each frame has a header and a variable length payload. OpenOCD will receive these frames and write them directly to a file without parsing them. So, if the microntroller sends the string \"Hello, world!\" using the iprintln macro, OpenOCD's output file won't exactly contain that string. To retrieve the original string, OpenOCD's output file will have to be parsed. We'll use the itmdump program to perform the parsing as new data arrives. You should have already installed the itmdump program during the installation chapter . In a new terminal, run this command inside the /tmp directory, if you are using a *nix OS, or from within the %TEMP% directory, if you are running Windows. This should be the same directory from where you are running OpenOCD. NOTE It's very important that both itmdump and openocd are running from the same directory! $ # itmdump terminal $ # *nix\n$ cd /tmp && touch itm.txt $ # Windows\n$ cd %TEMP% && type nul >> itm.txt $ # both\n$ itmdump -F -f itm.txt This command will block as itmdump is now watching the itm.txt file. Leave this terminal open. Make sure that the STM32F3DISCOVERY board is connected to your computer. Open another terminal from /tmp directory (on Windows %TEMP%) to launch OpenOCD similar as described in chapter 3 . Alright. Now, let's build the starter code and flash it into the microcontroller. We will now build and run the application, cargo run. And step through it using next. Since openocd.gdb contains the monitor commands in openocd.gdb OpenOCD will redirect the ITM output to itm.txt and itmdump will write it to its terminal window. Also, it setup break points and stepped through the trampoline we are at the first executable statement in fn main(): ~/embedded-discovery/src/06-hello-world\n$ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:14\n14 loop {}\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x2828 lma 0x8000194\nLoading section .rodata, size 0x638 lma 0x80029bc\nStart address 0x08000194, load size 12276\nTransfer rate: 18 KB/sec, 4092 bytes/write.\nBreakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.\nNote: automatically using hardware breakpoints for read-only addresses.\nBreakpoint 2 at 0x800092a: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.\nBreakpoint 3 at 0x80029a8: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560. Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8\n8 #[entry]\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10\n10 let mut itm = aux6::init(); (gdb) Now issue a next command which will execute aux6::init() and stop at the next executable statement in main.rs, which positions us at line 12: (gdb) next\n12 iprintln!(&mut itm.stim[0], \"Hello, world!\"); Then issue another next command which will execute line 12, executing the iprintln and stop at line 14: (gdb) next\n14 loop {} Now since iprintln has been executed the output on the itmdump terminal window should be the Hello, world! string: $ itmdump -F -f itm.txt\n(...)\nHello, world! Awesome, right? Feel free to use iprintln as a logging tool in the coming sections. Next: That's not all! The iprint! macros are not the only thing that uses the ITM. :-)","breadcrumbs":"Hello, world! » Hello, world!","id":"70","title":"Hello, world!"},"71":{"body":"The panic! macro also sends its output to the ITM! Change the main function to look like this: #[entry]\nfn main() -> ! { panic!(\"Hello, world!\");\n} Before running one other suggestion, I find it inconvenient to have to confirm when quitting gdb. Add the following file in your home directory ~/.gdbinit so that it quits immediately: $ cat ~/.gdbinit\ndefine hook-quit set confirm off\nend OK, now use cargo run and it stops at the first line of fn main(): $ cargo run Compiling hello-world v0.2.0 (~/embedded-discovery/src/06-hello-world) Finished dev [unoptimized + debuginfo] target(s) in 0.11s Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10\n10 panic!(\"Hello, world!\");\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x20fc lma 0x8000194\nLoading section .rodata, size 0x554 lma 0x8002290\nStart address 0x08000194, load size 10212\nTransfer rate: 17 KB/sec, 3404 bytes/write.\nBreakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.\nNote: automatically using hardware breakpoints for read-only addresses.\nBreakpoint 2 at 0x8000222: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.\nBreakpoint 3 at 0x800227a: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560. Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8\n8 #[entry]\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10\n10 panic!(\"Hello, world!\");\n(gdb) We'll use short command names to save typing, enter c then the Enter or Return key: (gdb) c\nContinuing. If all is well you'll see some new output in the itmdump terminal. $ # itmdump terminal\n(..)\npanicked at 'Hello, world!', src/06-hello-world/src/main.rs:10:5 Then type Ctrl-c which breaks out of a loop in the runtime: ^C\nProgram received signal SIGINT, Interrupt.\n0x0800115c in panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:57\n57 atomic::compiler_fence(Ordering::SeqCst); Ultimately, panic! is just another function call so you can see it leaves behind a trace of function calls. This allows you to use backtrace or just bt and to see call stack that caused the panic: (gdb) bt\n#0 panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47\n#1 0x080005c2 in core::panicking::panic_fmt () at library/core/src/panicking.rs:92\n#2 0x0800055a in core::panicking::panic () at library/core/src/panicking.rs:50\n#3 0x08000210 in hello_world::__cortex_m_rt_main () at src/06-hello-world/src/main.rs:10\n#4 0x080001f4 in hello_world::__cortex_m_rt_main_trampoline () at src/06-hello-world/src/main.rs:8 Another thing we can do is catch the panic before it does the logging. So we'll do several things; reset to the beginning, disable breakpoint 1, set a new breakpoint at rust_begin_unwind, list the break points and then continue: (gdb) monitor reset halt\nUnable to match requested speed 1000 kHz, using 950 kHz\nUnable to match requested speed 1000 kHz, using 950 kHz\nadapter speed: 950 kHz\ntarget halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000 (gdb) disable 1 (gdb) break rust_begin_unwind Breakpoint 4 at 0x800106c: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs, line 47. (gdb) info break\nNum Type Disp Enb Address What\n1 breakpoint keep n 0x080001f0 in hello_world::__cortex_m_rt_main_trampoline at ~/prgs/rust/tutorial/embedded-discovery/src/06-hello-world/src/main.rs:8 breakpoint already hit 1 time\n2 breakpoint keep y 0x08000222 in cortex_m_rt::DefaultHandler_ at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:570\n3 breakpoint keep y 0x0800227a in cortex_m_rt::HardFault_ at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560\n4 breakpoint keep y 0x0800106c in panic_itm::panic at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47 (gdb) c\nContinuing. Breakpoint 4, panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47\n47 interrupt::disable(); You'll notice that nothing got printed on the itmdump console this time. If you resume the program using continue then a new line will be printed. In a later section we'll look into other simpler communication protocols. Finally, enter the q command to quit and it quits immediately without asking for confirmation: (gdb) q\nDetaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached] As an even shorter sequence you can type Ctrl-d, which eliminates one keystroke! NOTE In this case the (gdb) prompt is overwritten with quit) quit)\nDetaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached]","breadcrumbs":"Hello, world! » panic! » panic!","id":"71","title":"panic!"},"72":{"body":"It's time to explore what the Led API does under the hood. In a nutshell, it just writes to some special memory regions. Go into the 07-registers directory and let's run the starter code statement by statement. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux7::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { aux7::init(); unsafe { // A magic address! const GPIOE_BSRR: u32 = 0x48001018; // Turn on the \"North\" LED (red) *(GPIOE_BSRR as *mut u32) = 1 << 9; // Turn on the \"East\" LED (green) *(GPIOE_BSRR as *mut u32) = 1 << 11; // Turn off the \"North\" LED *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16); // Turn off the \"East\" LED *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16); } loop {}\n} What's this magic? The address 0x48001018 points to a register . A register is a special region of memory that controls a peripheral . A peripheral is a piece of electronics that sits right next to the processor within the microcontroller package and provides the processor with extra functionality. After all, the processor, on its own, can only do math and logic. This particular register controls General Purpose Input/Output (GPIO) pins (GPIO is a peripheral) and can be used to drive each of those pins low or high .","breadcrumbs":"Registers » Registers","id":"72","title":"Registers"},"73":{"body":"Drive? Pin? Low? High? A pin is a electrical contact. Our microcontroller has several of them and some of them are connected to LEDs. An LED, a Light Emitting Diode, will only emit light when voltage is applied to it with a certain polarity. Luckily for us, the microcontroller's pins are connected to the LEDs with the right polarity. All that we have to do is output some non-zero voltage through the pin to turn the LED on. The pins attached to the LEDs are configured as digital outputs and can only output two different voltage levels: \"low\", 0 Volts, or \"high\", 3 Volts. A \"high\" (voltage) level will turn the LED on whereas a \"low\" (voltage) level will turn it off. These \"low\" and \"high\" states map directly to the concept of digital logic. \"low\" is 0 or false and \"high\" is 1 or true. This is why this pin configuration is known as digital output. OK. But how can one find out what this register does? Time to RTRM (Read the Reference Manual)!","breadcrumbs":"Registers » An aside: LEDs, digital outputs and voltage levels","id":"73","title":"An aside: LEDs, digital outputs and voltage levels"},"74":{"body":"I mentioned that the microcontroller has several pins. For convenience, these pins are grouped in ports of 16 pins. Each port is named with a letter: Port A, Port B, etc. and the pins within each port are named with numbers from 0 to 15. The first thing we have to find out is which pin is connected to which LED. This information is in the STM32F3DISCOVERY User Manual (You downloaded a copy, right?). In this particular section: Section 6.4 LEDs - Page 18 The manual says: LD3, the North LED, is connected to the pin PE9. PE9 is the short form of: Pin 9 on Port E. LD7, the East LED, is connected to the pin PE11. Up to this point, we know that we want to change the state of the pins PE9 and PE11 to turn the North/East LEDs on/off. These pins are part of Port E so we'll have to deal with the GPIOE peripheral. Each peripheral has a register block associated to it. A register block is a collection of registers allocated in contiguous memory. The address at which the register block starts is known as its base address. We need to figure out what's the base address of the GPIOE peripheral. That information is in the following section of the microcontroller Reference Manual : Section 3.2.2 Memory map and register boundary addresses - Page 51 The table says that base address of the GPIOE register block is 0x4800_1000. Each peripheral also has its own section in the documentation. Each of these sections ends with a table of the registers that the peripheral's register block contains. For the GPIO family of peripheral, that table is in: Section 11.4.12 GPIO register map - Page 243 'BSRR' is the register which we will be using to set/reset. Its offset value is '0x18' from the base address of the 'GPIOE'. We can look up BSRR in the reference manual. GPIO Registers -> GPIO port bit set/reset register (GPIOx_BSRR). Now we need to jump to the documentation of that particular register. It's a few pages above in: Section 11.4.7 GPIO port bit set/reset register (GPIOx_BSRR) - Page 240 Finally! This is the register we were writing to. The documentation says some interesting things. First, this register is write only ... so let's try reading its value :-). We'll use GDB's examine command: x. (gdb) next\n16 *(GPIOE_BSRR as *mut u32) = 1 << 9; (gdb) x 0x48001018\n0x48001018: 0x00000000 (gdb) # the next command will turn the North LED on\n(gdb) next\n19 *(GPIOE_BSRR as *mut u32) = 1 << 11; (gdb) x 0x48001018\n0x48001018: 0x00000000 Reading the register returns 0. That matches what the documentation says. The other thing that the documentation says is that the bits 0 to 15 can be used to set the corresponding pin. That is bit 0 sets the pin 0. Here, set means outputting a high value on the pin. The documentation also says that bits 16 to 31 can be used to reset the corresponding pin. In this case, the bit 16 resets the pin number 0. As you may guess, reset means outputting a low value on the pin. Correlating that information with our program, all seems to be in agreement: Writing 1 << 9 (BS9 = 1) to BSRR sets PE9 high . That turns the North LED on . Writing 1 << 11 (BS11 = 1) to BSRR sets PE11 high . That turns the East LED on . Writing 1 << 25 (BR9 = 1) to BSRR sets PE9 low . That turns the North LED off . Finally, writing 1 << 27 (BR11 = 1) to BSRR sets PE11 low . That turns the East LED off .","breadcrumbs":"Registers » RTRM » RTRM: Reading The Reference Manual","id":"74","title":"RTRM: Reading The Reference Manual"},"75":{"body":"Reads/writes to registers are quite special. I may even dare to say that they are embodiment of side effects. In the previous example we wrote four different values to the same register. If you didn't know that address was a register, you may have simplified the logic to just write the final value 1 << (11 + 16) into the register. Actually, LLVM, the compiler's backend / optimizer, does not know we are dealing with a register and will merge the writes thus changing the behavior of our program. Let's check that really quick. $ cargo run --release\n(..)\nBreakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7\n7 #[entry] (gdb) step\nregisters::__cortex_m_rt_main () at src/07-registers/src/main.rs:9\n9 aux7::init(); (gdb) next\n25 *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16); (gdb) disassemble /m\nDump of assembler code for function _ZN9registers18__cortex_m_rt_main17h45b1ef53e18aa8d0E:\n8 fn main() -> ! { 0x08000248 <+0>: push {r7, lr} 0x0800024a <+2>: mov r7, sp 9 aux7::init(); 0x0800024c <+4>: bl 0x8000260 0x08000250 <+8>: movw r0, #4120 ; 0x1018 0x08000254 <+12>: mov.w r1, #134217728 ; 0x8000000 0x08000258 <+16>: movt r0, #18432 ; 0x4800 10\n11 unsafe {\n12 // A magic address!\n13 const GPIOE_BSRR: u32 = 0x48001018;\n14\n15 // Turn on the \"North\" LED (red)\n16 *(GPIOE_BSRR as *mut u32) = 1 << 9;\n17\n18 // Turn on the \"East\" LED (green)\n19 *(GPIOE_BSRR as *mut u32) = 1 << 11;\n20\n21 // Turn off the \"North\" LED\n22 *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);\n23\n24 // Turn off the \"East\" LED\n25 *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);\n=> 0x0800025c <+20>: str r1, [r0, #0] 0x0800025e <+22>: b.n 0x800025e End of assembler dump. The state of the LEDs didn't change this time! The str instruction is the one that writes a value to the register. Our debug (unoptimized) program had four of them, one for each write to the register, but the release (optimized) program only has one. We can check that using objdump and capture the output to out.asm: # same as cargo objdump -- -d --no-show-raw-insn --print-imm-hex --source target/thumbv7em-none-eabihf/debug/registers\ncargo objdump --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > debug.txt Then examine debug.txt looking for main and we see the 4 str instructions: 080001ec
:\n; #[entry] 80001ec: push {r7, lr} 80001ee: mov r7, sp 80001f0: bl #0x2 80001f4: trap 080001f6 :\n; fn main() -> ! { 80001f6: push {r7, lr} 80001f8: mov r7, sp\n; aux7::init(); 80001fa: bl #0x3e 80001fe: b #-0x2 \n; *(GPIOE_BSRR as *mut u32) = 1 << 9; 8000200: movw r0, #0x2640 8000204: movt r0, #0x800 8000208: ldr r0, [r0] 800020a: movw r1, #0x1018 800020e: movt r1, #0x4800 8000212: str r0, [r1]\n; *(GPIOE_BSRR as *mut u32) = 1 << 11; 8000214: movw r0, #0x2648 8000218: movt r0, #0x800 800021c: ldr r0, [r0] 800021e: str r0, [r1]\n; *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16); 8000220: movw r0, #0x2650 8000224: movt r0, #0x800 8000228: ldr r0, [r0] 800022a: str r0, [r1]\n; *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16); 800022c: movw r0, #0x2638 8000230: movt r0, #0x800 8000234: ldr r0, [r0] 8000236: str r0, [r1]\n; loop {} 8000238: b #-0x2 800023a: b #-0x4 (..) How do we prevent LLVM from misoptimizing our program? We use volatile operations instead of plain reads/writes: #![no_main]\n#![no_std] use core::ptr; #[allow(unused_imports)]\nuse aux7::entry; #[entry]\nfn main() -> ! { aux7::init(); unsafe { // A magic address! const GPIOE_BSRR: u32 = 0x48001018; // Turn on the \"North\" LED (red) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9); // Turn on the \"East\" LED (green) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11); // Turn off the \"North\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16)); // Turn off the \"East\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16)); } loop {}\n} Generate release.txt using with --release mode. cargo objdump --release --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > release.txt Now find the main routine in release.txt and we see the 4 str instructions. 0800023e
:\n; #[entry] 800023e: push {r7, lr} 8000240: mov r7, sp 8000242: bl #0x2 8000246: trap 08000248 :\n; fn main() -> ! { 8000248: push {r7, lr} 800024a: mov r7, sp\n; aux7::init(); 800024c: bl #0x22 8000250: movw r0, #0x1018 8000254: mov.w r1, #0x200 8000258: movt r0, #0x4800\n; intrinsics::volatile_store(dst, src); 800025c: str r1, [r0] 800025e: mov.w r1, #0x800 8000262: str r1, [r0] 8000264: mov.w r1, #0x2000000 8000268: str r1, [r0] 800026a: mov.w r1, #0x8000000 800026e: str r1, [r0] 8000270: b #-0x4 (..) We see that the four writes (str instructions) are preserved. If you run it using gdb you'll also see that we get the expected behavior. NB: The last next will endlessly execute loop {}, use Ctrl-c to get back to the (gdb) prompt. $ cargo run --release\n(..) Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9\n9 #[entry] (gdb) step\nregisters::__cortex_m_rt_main () at src/07-registers/src/main.rs:11\n11 aux7::init(); (gdb) next\n18 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9); (gdb) next\n21 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11); (gdb) next\n24 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16)); (gdb) next\n27 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16)); (gdb) next\n^C\nProgram received signal SIGINT, Interrupt.\n0x08000270 in registers::__cortex_m_rt_main () at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1124\n1124 intrinsics::volatile_store(dst, src);\n(gdb)","breadcrumbs":"Registers » (mis)Optimization » (mis)Optimization","id":"75","title":"(mis)Optimization"},"76":{"body":"Not all the peripheral memory can be accessed. Look at this program. #![no_main]\n#![no_std] use core::ptr; #[allow(unused_imports)]\nuse aux7::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { aux7::init(); unsafe { ptr::read_volatile(0x4800_1800 as *const u32); } loop {}\n} This address is close to the GPIOE_BSRR address we used before but this address is invalid . Invalid in the sense that there's no register at this address. Now, let's try it. $ cargo run\n(..)\nBreakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9\n9 #[entry] (gdb) continue\nContinuing. Breakpoint 3, cortex_m_rt::HardFault_ (ef=0x20009fb0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560\n560 loop { (gdb) We tried to do an invalid operation, reading memory that doesn't exist, so the processor raised an exception , a hardware exception. In most cases, exceptions are raised when the processor attempts to perform an invalid operation. Exceptions break the normal flow of a program and force the processor to execute an exception handler , which is just a function/subroutine. There are different kind of exceptions. Each kind of exception is raised by different conditions and each one is handled by a different exception handler. The aux7 crate depends on the cortex-m-rt crate which defines a default hard fault handler, named HardFault, that handles the \"invalid memory address\" exception. openocd.gdb placed a breakpoint on HardFault; that's why the debugger halted your program while it was executing the exception handler. We can get more information about the exception from the debugger. Let's see: (gdb) list\n555 #[allow(unused_variables)]\n556 #[doc(hidden)]\n557 #[link_section = \".HardFault.default\"]\n558 #[no_mangle]\n559 pub unsafe extern \"C\" fn HardFault_(ef: &ExceptionFrame) -> ! {\n560 loop {\n561 // add some side effect to prevent this from turning into a UDF instruction\n562 // see rust-lang/rust#28728 for details\n563 atomic::compiler_fence(Ordering::SeqCst);\n564 } ef is a snapshot of the program state right before the exception occurred. Let's inspect it: (gdb) print/x *ef\n$1 = cortex_m_rt::ExceptionFrame { r0: 0x48001800, r1: 0x80036b0, r2: 0x1, r3: 0x80000000, r12: 0xb, lr: 0x800020d, pc: 0x8001750, xpsr: 0xa1000200\n} There are several fields here but the most important one is pc, the Program Counter register. The address in this register points to the instruction that generated the exception. Let's disassemble the program around the bad instruction. (gdb) disassemble /m ef.pc\nDump of assembler code for function core::ptr::read_volatile:\n1046 pub unsafe fn read_volatile(src: *const T) -> T { 0x0800174c <+0>: sub sp, #12 0x0800174e <+2>: str r0, [sp, #4] 1047 if cfg!(debug_assertions) && !is_aligned_and_not_null(src) {\n1048 // Not panicking to keep codegen impact smaller.\n1049 abort();\n1050 }\n1051 // SAFETY: the caller must uphold the safety contract for `volatile_load`.\n1052 unsafe { intrinsics::volatile_load(src) } 0x08001750 <+4>: ldr r0, [r0, #0] 0x08001752 <+6>: str r0, [sp, #8] 0x08001754 <+8>: ldr r0, [sp, #8] 0x08001756 <+10>: str r0, [sp, #0] 0x08001758 <+12>: b.n 0x800175a +14> 1053 } 0x0800175a <+14>: ldr r0, [sp, #0] 0x0800175c <+16>: add sp, #12 0x0800175e <+18>: bx lr End of assembler dump. The exception was caused by the ldr r0, [r0, #0] instruction, a read instruction. The instruction tried to read the memory at the address indicated by the r0 register. By the way, r0 is a CPU (processor) register not a memory mapped register; it doesn't have an associated address like, say, GPIO_BSRR. Wouldn't it be nice if we could check what the value of the r0 register was right at the instant when the exception was raised? Well, we already did! The r0 field in the ef value we printed before is the value of r0 register had when the exception was raised. Here it is again: (gdb) print/x *ef\n$1 = cortex_m_rt::ExceptionFrame { r0: 0x48001800, r1: 0x80036b0, r2: 0x1, r3: 0x80000000, r12: 0xb, lr: 0x800020d, pc: 0x8001750, xpsr: 0xa1000200\n} r0 contains the value 0x4800_1800 which is the invalid address we called the read_volatile function with.","breadcrumbs":"Registers » 0xBAAAAAAD address » 0xBAAAAAAD address","id":"76","title":"0xBAAAAAAD address"},"77":{"body":"BSRR is not the only register that can control the pins of Port E. The ODR register also lets you change the value of the pins. Furthermore, ODR also lets you retrieve the current output status of Port E. ODR is documented in: Section 11.4.6 GPIO port output data register - Page 239 Let's look at this program. The key to this program is fn iprint_odr. This function prints the current value in ODR to the ITM console #![no_main]\n#![no_std] use core::ptr; #[allow(unused_imports)]\nuse aux7::{entry, iprintln, ITM}; // Print the current contents of odr\nfn iprint_odr(itm: &mut ITM) { const GPIOE_ODR: u32 = 0x4800_1014; unsafe { iprintln!( &mut itm.stim[0], \"ODR = 0x{:04x}\", ptr::read_volatile(GPIOE_ODR as *const u16) ); }\n} #[entry]\nfn main() -> ! { let mut itm= aux7::init().0; unsafe { // A magic addresses! const GPIOE_BSRR: u32 = 0x4800_1018; // Print the initial contents of ODR iprint_odr(&mut itm); // Turn on the \"North\" LED (red) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9); iprint_odr(&mut itm); // Turn on the \"East\" LED (green) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11); iprint_odr(&mut itm); // Turn off the \"North\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16)); iprint_odr(&mut itm); // Turn off the \"East\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16)); iprint_odr(&mut itm); } loop {}\n} If you run this program $ cargo run\n(..)\nBreakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:22\n22 #[entry] (gdb) continue\nContinuing. You'll see on itmdump's console: $ # itmdump's console\n(..)\nODR = 0x0000\nODR = 0x0200\nODR = 0x0a00\nODR = 0x0800\nODR = 0x0000 Side effects! Although we are reading the same address multiple times without actually modifying it, we still see its value change every time BSRR is written to.","breadcrumbs":"Registers » Spooky action at a distance » Spooky action at a distance","id":"77","title":"Spooky action at a distance"},"78":{"body":"The last register we were working with, ODR, had this in its documentation: Bits 31:16 Reserved, must be kept at reset value We are not supposed to write to those bits of the register or Bad Stuff May Happen. There's also the fact the registers have different read/write permissions. Some of them are write only, others can be read and written to and there must be others that are read only. Finally, directly working with hexadecimal addresses is error prone. You already saw that trying to access an invalid memory address causes an exception which disrupts the execution of our program. Wouldn't it be nice if we had an API to manipulate registers in a \"safe\" manner? Ideally, the API should encode these three points I've mentioned: No messing around with the actual addresses, should respect read/write permissions and should prevent modification of the reserved parts of a register. Well, we do! aux7::init() actually returns a value that provides a type safe API to manipulate the registers of the GPIOE peripheral. As you may remember: a group of registers associated to a peripheral is called register block, and it's located in a contiguous region of memory. In this type safe API each register block is modeled as a struct where each of its fields represents a register. Each register field is a different newtype over e.g. u32 that exposes a combination of the following methods: read, write or modify according to its read/write permissions. Finally, these methods don't take primitive values like u32, instead they take yet another newtype that can be constructed using the builder pattern and that prevent the modification of the reserved parts of the register. The best way to get familiar with this API is to port our running example to it. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux7::{entry, iprintln, ITM, RegisterBlock}; #[entry]\nfn main() -> ! { let gpioe = aux7::init().1; // Turn on the North LED gpioe.bsrr.write(|w| w.bs9().set_bit()); // Turn on the East LED gpioe.bsrr.write(|w| w.bs11().set_bit()); // Turn off the North LED gpioe.bsrr.write(|w| w.br9().set_bit()); // Turn off the East LED gpioe.bsrr.write(|w| w.br11().set_bit()); loop {}\n} First thing you notice: There are no magic addresses involved. Instead we use a more human friendly way, for example gpioe.bsrr, to refer to the BSRR register in the GPIOE register block. Then we have this write method that takes a closure. If the identity closure (|w| w) is used, this method will set the register to its default (reset) value, the value it had right after the microcontroller was powered on / reset. That value is 0x0 for the BSRR register. Since we want to write a non-zero value to the register, we use builder methods like bs9 and br9 to set some of the bits of the default value. Let's run this program! There's some interesting stuff we can do while debugging the program. gpioe is a reference to the GPIOE register block. print gpioe will return the base address of the register block. $ cargo run\n(..) Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7\n7 #[entry] (gdb) step\nregisters::__cortex_m_rt_main () at src/07-registers/src/main.rs:9\n9 let gpioe = aux7::init().1; (gdb) next\n12 gpioe.bsrr.write(|w| w.bs9().set_bit()); (gdb) print gpioe\n$1 = (*mut stm32f3::stm32f303::gpioc::RegisterBlock) 0x48001000 But if we instead print *gpioe, we'll get a full view of the register block: the value of each of its registers will be printed. (gdb) print *gpioe\n$2 = stm32f3::stm32f303::gpioc::RegisterBlock { moder: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 1431633920 } }, _marker: core::marker::PhantomData }, otyper: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, ospeedr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, pupdr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, idr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 204 } }, _marker: core::marker::PhantomData }, odr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, bsrr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, lckr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, afrl: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, afrh: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, brr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }\n} All these newtypes and closures sound like they'd generate large, bloated programs but, if you actually compile the program in release mode with LTO enabled, you'll see that it produces exactly the same instructions that the \"unsafe\" version that used write_volatile and hexadecimal addresses did! Use cargo objdump to grab the assembler code to release.txt: cargo objdump --bin registers --release -- -d --no-show-raw-insn --print-imm-hex > release.txt Then search for main in release.txt 0800023e
: 800023e: push\t{r7, lr} 8000240: mov\tr7, sp 8000242: bl\t#0x2 8000246: trap 08000248 : 8000248: push\t{r7, lr} 800024a: mov\tr7, sp 800024c: bl\t#0x22 8000250: movw\tr0, #0x1018 8000254: mov.w\tr1, #0x200 8000258: movt\tr0, #0x4800 800025c: str\tr1, [r0] 800025e: mov.w\tr1, #0x800 8000262: str\tr1, [r0] 8000264: mov.w\tr1, #0x2000000 8000268: str\tr1, [r0] 800026a: mov.w\tr1, #0x8000000 800026e: str\tr1, [r0] 8000270: b\t#-0x4 The best part of all this is that nobody had to write a single line of code to implement the GPIOE API. All the code was automatically generated from a System View Description (SVD) file using the svd2rust tool. This SVD file is actually an XML file that microcontroller vendors provide and that contains the register maps of their microcontrollers. The file contains the layout of register blocks, the base addresses, the read/write permissions of each register, the layout of the registers, whether a register has reserved bits and lots of other useful information.","breadcrumbs":"Registers » Type safe manipulation » Type safe manipulation","id":"78","title":"Type safe manipulation"},"79":{"body":"In the last section, I gave you initialized (configured) peripherals (I initialized them in aux7::init). That's why just writing to BSRR was enough to control the LEDs. But, peripherals are not initialized right after the microcontroller boots. In this section, you'll have more fun with registers. I won't do any initialization and you'll have to initialize and configure GPIOE pins as digital outputs pins so that you'll be able to drive LEDs again. This is the starter code. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux8::entry; #[entry]\nfn main() -> ! { let (gpioe, rcc) = aux8::init(); // TODO initialize GPIOE // Turn on all the LEDs in the compass gpioe.odr.write(|w| { w.odr8().set_bit(); w.odr9().set_bit(); w.odr10().set_bit(); w.odr11().set_bit(); w.odr12().set_bit(); w.odr13().set_bit(); w.odr14().set_bit(); w.odr15().set_bit() }); aux8::bkpt(); loop {}\n} If you run the starter code, you'll see that nothing happens this time. Furthermore, if you print the GPIOE register block, you'll see that every register reads as zero even after the gpioe.odr.write statement was executed! $ cargo run\nBreakpoint 1, main () at src/08-leds-again/src/main.rs:9\n9 let (gpioe, rcc) = aux8::init(); (gdb) continue\nContinuing. Program received signal SIGTRAP, Trace/breakpoint trap.\n0x08000f3c in __bkpt () (gdb) finish\nRun till exit from #0 0x08000f3c in __bkpt ()\nmain () at src/08-leds-again/src/main.rs:25\n25 aux8::bkpt(); (gdb) p/x *gpioe\n$1 = stm32f30x::gpioc::RegisterBlock { moder: stm32f30x::gpioc::MODER { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, otyper: stm32f30x::gpioc::OTYPER { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, ospeedr: stm32f30x::gpioc::OSPEEDR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, pupdr: stm32f30x::gpioc::PUPDR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, idr: stm32f30x::gpioc::IDR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, odr: stm32f30x::gpioc::ODR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, bsrr: stm32f30x::gpioc::BSRR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, lckr: stm32f30x::gpioc::LCKR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, afrl: stm32f30x::gpioc::AFRL { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, afrh: stm32f30x::gpioc::AFRH { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, brr: stm32f30x::gpioc::BRR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }\n}","breadcrumbs":"LEDs, again » LEDs, again","id":"79","title":"LEDs, again"},"8":{"body":"A microcontroller is a system on a chip. Whereas your computer is made up of several discrete components: a processor, RAM sticks, a hard drive, an ethernet port, etc.; a microcontroller has all those components built into a single \"chip\" or package. This makes it possible to build systems with a minimal part count.","breadcrumbs":"Background » What's a microcontroller?","id":"8","title":"What's a microcontroller?"},"80":{"body":"Turns out that, to save power, most peripherals start in a powered off state -- that's their state right after the microcontroller boots. The Reset and Clock Control (RCC) peripheral can be used to power on or off every other peripheral. You can find the list of registers in the RCC register block in: Section 9.4.14 - RCC register map - Page 166 - Reference Manual The registers that control the power status of other peripherals are: AHBENR APB1ENR APB2ENR Each bit in these registers controls the power status of a single peripheral, including GPIOE. Your task in this section is to power on the GPIOE peripheral. You'll have to: Figure out which of the three registers I mentioned before has the bit that controls the power status. Figure out what value that bit must be set to,0 or 1, to power on the GPIOE peripheral. Finally, you'll have to change the starter code to modify the right register to turn on the GPIOE peripheral. If you are successful, you'll see that the gpioe.odr.write statement will now be able to modify the value of the ODR register. Note that this won't be enough to actually turn on the LEDs.","breadcrumbs":"LEDs, again » Power » Power","id":"80","title":"Power"},"81":{"body":"After turning on the GPIOE peripheral, it still needs to be configured. In this case, we want the pins to be configured as digital outputs so they can drive the LEDs; by default, most pins are configured as digital inputs . You can find the list of registers in the GPIOE register block in: Section 11.4.12 - GPIO registers - Page 243 - Reference Manual The register we'll have to deal with is: MODER. Your task for this section is to further update the starter code to configure the right GPIOE pins as digital outputs. You'll have to: Figure out which pins you need to configure as digital outputs. (hint: check Section 6.4 LEDs of the User Manual (page 18)). Read the documentation to understand what the bits in the MODER register do. Modify the MODER register to configure the pins as digital outputs. If successful, you'll see the 8 LEDs turn on when you run the program.","breadcrumbs":"LEDs, again » Configuration » Configuration","id":"81","title":"Configuration"},"82":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux8::entry; #[entry]\nfn main() -> ! { let (gpioe, rcc) = aux8::init(); // enable the GPIOE peripheral rcc.ahbenr.write(|w| w.iopeen().set_bit()); // configure the pins as outputs gpioe.moder.write(|w| { w.moder8().output(); w.moder9().output(); w.moder10().output(); w.moder11().output(); w.moder12().output(); w.moder13().output(); w.moder14().output(); w.moder15().output() }); // Turn on all the LEDs in the compass gpioe.odr.write(|w| { w.odr8().set_bit(); w.odr9().set_bit(); w.odr10().set_bit(); w.odr11().set_bit(); w.odr12().set_bit(); w.odr13().set_bit(); w.odr14().set_bit(); w.odr15().set_bit() }); aux8::bkpt(); loop {}\n}","breadcrumbs":"LEDs, again » The solution » The solution","id":"82","title":"The solution"},"83":{"body":"In this section, we'll re-implement the LED roulette application. I'm going to give you back the Led abstraction but this time I'm going to take away the Delay abstraction :-). Here's the starter code. The delay function is unimplemented so if you run this program the LEDs will blink so fast that they'll appear to always be on. #![no_main]\n#![no_std] use aux9::{entry, switch_hal::OutputSwitch, tim6}; #[inline(never)]\nfn delay(tim6: &tim6::RegisterBlock, ms: u16) { // TODO implement this\n} #[entry]\nfn main() -> ! { let (leds, rcc, tim6) = aux9::init(); let mut leds = leds.into_array(); // TODO initialize TIM6 let ms = 50; loop { for curr in 0..8 { let next = (curr + 1) % 8; leds[next].on().unwrap(); delay(tim6, ms); leds[curr].off().unwrap(); delay(tim6, ms); } }\n}","breadcrumbs":"Clocks and timers » Clocks and timers","id":"83","title":"Clocks and timers"},"84":{"body":"The first challenge is to implement the delay function without using any peripheral and the obvious solution is to implement it as a for loop delay: #[inline(never)]\nfn delay(tim6: &tim6::RegisterBlock, ms: u16) { for _ in 0..1_000 {}\n} Of course, the above implementation is wrong because it always generates the same delay for any value of ms. In this section, you'll have to: Fix the delay function to generate delays proportional to its input ms. Tweak the delay function to make the LED roulette spin at a rate of approximately 5 cycles in 4 seconds (800 milliseconds period). The processor inside the microcontroller is clocked at 72 MHz and executes most instructions in one \"tick\", a cycle of its clock. How many (for) loops do you think the delay function must do to generate a delay of 1 second? How many for loops does delay(1000) actually do? What happens if compile your program in release mode and run it?","breadcrumbs":"Clocks and timers » for loop delays » for loop delays","id":"84","title":"for loop delays"},"85":{"body":"If in the previous section you compiled the program in release mode and actually looked at the disassembly, you probably noticed that the delay function is optimized away and never gets called from within main. LLVM decided that the function wasn't doing anything worthwhile and just removed it. There is a way to prevent LLVM from optimizing the for loop delay: add a volatile assembly instruction. Any instruction will do but NOP (No OPeration) is a particular good choice in this case because it has no side effect. Your for loop delay would become: #[inline(never)]\nfn delay(_tim6: &tim6::RegisterBlock, ms: u16) { const K: u16 = 3; // this value needs to be tweaked for _ in 0..(K * ms) { aux9::nop() }\n} And this time delay won't be compiled away by LLVM when you compile your program in release mode: $ cargo objdump --bin clocks-and-timers --release -- -d --no-show-raw-insn\nclocks-and-timers: file format ELF32-arm-little Disassembly of section .text:\nclocks_and_timers::delay::h711ce9bd68a6328f: 8000188: push {r4, r5, r7, lr} 800018a: movs r4, #0 800018c: adds r4, #1 800018e: uxth r5, r4 8000190: bl #4666 8000194: cmp r5, #150 8000196: blo #-14 8000198: pop {r4, r5, r7, pc} Now, test this: Compile the program in debug mode and run it, then compile the program in release mode and run it. What's the difference between them? What do you think is the main cause of the difference? Can you think of a way to make them equivalent or at least more similar again?","breadcrumbs":"Clocks and timers » NOP » NOP","id":"85","title":"NOP"},"86":{"body":"I hope that, by now, I have convinced you that for loop delays are a poor way to implement delays. Now, we'll implement delays using a hardware timer . The basic function of a (hardware) timer is ... to keep precise track of time. A timer is yet another peripheral that's available to the microcontroller; thus it can be controlled using registers. The microcontroller we are using has several (in fact, more than 10) timers of different kinds (basic, general purpose, and advanced timers) available to it. Some timers have more resolution (number of bits) than others and some can be used for more than just keeping track of time. We'll be using one of the basic timers: TIM6. This is one of the simplest timers available in our microcontroller. The documentation for basic timers is in the following section: Section 22 Timers - Page 670 - Reference Manual Its registers are documented in: Section 22.4.9 TIM6/TIM7 register map - Page 682 - Reference Manual The registers we'll be using in this section are: SR, the status register. EGR, the event generation register. CNT, the counter register. PSC, the prescaler register. ARR, the autoreload register. We'll be using the timer as a one-shot timer. It will sort of work like an alarm clock. We'll set the timer to go off after some amount of time and then we'll wait until the timer goes off. The documentation refers to this mode of operation as one pulse mode . Here's a description of how a basic timer works when configured in one pulse mode: The counter is enabled by the user (CR1.CEN = 1). The CNT register resets its value to zero and, on each tick, its value gets incremented by one. Once the CNT register has reached the value of the ARR register, the counter will be disabled by hardware (CR1.CEN = 0) and an update event will be raised (SR.UIF = 1). TIM6 is driven by the APB1 clock, whose frequency doesn't have to necessarily match the processor frequency. That is, the APB1 clock could be running faster or slower. The default, however, is that both APB1 and the processor are clocked at 8 MHz. The tick mentioned in the functional description of the one pulse mode is not the same as one tick of the APB1 clock. The CNT register increases at a frequency of apb1 / (psc + 1) times per second, where apb1 is the frequency of the APB1 clock and psc is the value of the prescaler register, PSC.","breadcrumbs":"Clocks and timers » One-shot timer » One-shot timer","id":"86","title":"One-shot timer"},"87":{"body":"As with every other peripheral, we'll have to initialize this timer before we can use it. And just as in the previous section, initialization is going to involve two steps: powering up the timer and then configuring it. Powering up the timer is easy: We just have to set TIM6EN bit to 1. This bit is in the APB1ENR register of the RCC register block. // Power on the TIM6 timer rcc.apb1enr.modify(|_, w| w.tim6en().set_bit()); The configuration part is slightly more elaborate. First, we'll have to configure the timer to operate in one pulse mode. // OPM Select one pulse mode // CEN Keep the counter disabled for now tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit()); Then, we'll like to have the CNT counter operate at a frequency of 1 KHz because our delay function takes a number of milliseconds as arguments and 1 KHz produces a 1 millisecond period. For that we'll have to configure the prescaler. // Configure the prescaler to have the counter operate at 1 KHz tim6.psc.write(|w| w.psc().bits(psc)); I'm going to let you figure out the value of the prescaler, psc. Remember that the frequency of the counter is apb1 / (psc + 1) and that apb1 is 8 MHz.","breadcrumbs":"Clocks and timers » Initialization » Initialization","id":"87","title":"Initialization"},"88":{"body":"The timer should now be properly initialized. All that's left is to implement the delay function using the timer. First thing we have to do is set the autoreload register (ARR) to make the timer go off in ms milliseconds. Because the counter operates at 1 KHz, the autoreload value will be the same as ms. // Set the timer to go off in `ms` ticks // 1 tick = 1 ms tim6.arr.write(|w| w.arr().bits(ms)); Next, we need to enable the counter. It will immediately start counting. // CEN: Enable the counter tim6.cr1.modify(|_, w| w.cen().set_bit()); Now we need to wait until the counter reaches the value of the autoreload register, ms, then we'll know that ms milliseconds have passed. That condition is known as an update event and its indicated by the UIF bit of the status register (SR). // Wait until the alarm goes off (until the update event occurs) while !tim6.sr.read().uif().bit_is_set() {} This pattern of just waiting until some condition is met, in this case that UIF becomes 1, is known as busy waiting and you'll see it a few more times in this text :-). Finally, we must clear (set to 0) this UIF bit. If we don't, next time we enter the delay function we'll think the update event has already happened and skip over the busy waiting part. // Clear the update event flag tim6.sr.modify(|_, w| w.uif().clear_bit()); Now, put this all together and check if it works as expected.","breadcrumbs":"Clocks and timers » Busy waiting » Busy waiting","id":"88","title":"Busy waiting"},"89":{"body":"#![no_main]\n#![no_std] use aux9::{entry, switch_hal::OutputSwitch, tim6}; #[inline(never)]\nfn delay(tim6: &tim6::RegisterBlock, ms: u16) { // Set the timer to go off in `ms` ticks // 1 tick = 1 ms tim6.arr.write(|w| w.arr().bits(ms)); // CEN: Enable the counter tim6.cr1.modify(|_, w| w.cen().set_bit()); // Wait until the alarm goes off (until the update event occurs) while !tim6.sr.read().uif().bit_is_set() {} // Clear the update event flag tim6.sr.modify(|_, w| w.uif().clear_bit());\n} #[entry]\nfn main() -> ! { let (leds, rcc, tim6) = aux9::init(); let mut leds = leds.into_array(); // Power on the TIM6 timer rcc.apb1enr.modify(|_, w| w.tim6en().set_bit()); // OPM Select one pulse mode // CEN Keep the counter disabled for now tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit()); // Configure the prescaler to have the counter operate at 1 KHz // APB1_CLOCK = 8 MHz // PSC = 7999 // 8 MHz / (7999 + 1) = 1 KHz // The counter (CNT) will increase on every millisecond tim6.psc.write(|w| w.psc().bits(7_999)); let ms = 50; loop { for curr in 0..8 { let next = (curr + 1) % 8; leds[next].on().unwrap(); delay(tim6, ms); leds[curr].off().unwrap(); delay(tim6, ms); } }\n}","breadcrumbs":"Clocks and timers » Putting it all together » Putting it all together","id":"89","title":"Putting it all together"},"9":{"body":"Lots of things! Microcontrollers are the central part of systems known as embedded systems. These systems are everywhere but you don't usually notice them. These systems control the brakes of your car, wash your clothes, print your documents, keep you warm, keep you cool, optimize the fuel consumption of your car, etc. The main trait of these systems is that they operate without user intervention even if they expose a user interface as a washing machine does; most of their operation is done on their own. The other common trait of these systems is that they control a process. And for that these systems usually have one or more sensors and one or more actuators. For example, an HVAC system has several sensors, thermometers, and humidity sensors spread across some areas, and several actuators as well, heating elements and fans connected to ducts.","breadcrumbs":"Background » What can you do with a microcontroller?","id":"9","title":"What can you do with a microcontroller?"},"90":{"body":"This is what we'll be using. I hope your computer has one! Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but with the communication protocol that this cable is/was usually used for. So what's this serial communication ? It's an asynchronous communication protocol where two devices exchange data serially , as in one bit at a time, using two data lines (plus a common ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock signal. Instead both parties must agree on how fast data will be sent along the wire before the communication occurs. This protocol allows duplex communication as data can be sent from A to B and from B to A simultaneously. We'll be using this protocol to exchange data between the microcontroller and your computer. In contrast to the ITM protocol we have used before, with the serial communication protocol you can send data from your computer to the microcontroller. The next practical question you probably want to ask is: How fast can we send data through this protocol? This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 to 2 stop bits . The speed of the protocol is known as baud rate and it's quoted in bits per second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps. To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data rate will probably be lower because of processing times on the slower side of the communication (the microcontroller). Today's computers don't support the serial communication protocol. So you can't directly connect your computer to the microcontroller. But that's where the serial module comes in. This module will sit between the two and expose a serial interface to the microcontroller and an USB interface to your computer. The microcontroller will see your computer as another serial device and your computer will see the microcontroller as a virtual serial device. Now, let's get familiar with the serial module and the serial communication tools that your OS offers. Pick a route: *nix Windows","breadcrumbs":"Serial communication » Serial communication","id":"90","title":"Serial communication"},"91":{"body":"","breadcrumbs":"Serial communication » *nix tooling » *nix tooling","id":"91","title":"*nix tooling"},"92":{"body":"With newer revisions, if you connect the discovery board to your computer you should see a new TTY device appear in /dev. $ # Linux\n$ dmesg | tail | grep -i tty\n[13560.675310] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device This is the USB <-> Serial device. On Linux, it's named tty* (usually ttyACM* or ttyUSB*). If you don't see the device appear then you probably have an older revision of the board; check the next section, which contains instructions for older revisions. If you do have a newer revision skip the next section and move to the \"minicom\" section.","breadcrumbs":"Serial communication » *nix tooling » Newer revisions of the discovery board","id":"92","title":"Newer revisions of the discovery board"},"93":{"body":"Connect the serial module to your computer and let's find out what name the OS assigned to it. NOTE On macs, the USB device will named like this: /dev/cu.usbserial-*. You won't find it using dmesg, instead use ls -l /dev | grep cu.usb and adjust the following commands accordingly! $ dmesg | grep -i tty\n(..)\n[ +0.000155] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0 But what's this ttyUSB0 thing? It's a file of course! Everything is a file in *nix: $ ls -l /dev/ttyUSB0\ncrw-rw-rw- 1 root uucp 188, 0 Oct 27 00:00 /dev/ttyUSB0 NOTE if the permissions above is crw-rw----, the udev rules have not been set correctly see udev rules You can send out data by simply writing to this file: $ echo 'Hello, world!' > /dev/ttyUSB0 You should see the TX (red) LED on the serial module blink, just once and very fast!","breadcrumbs":"Serial communication » *nix tooling » Older revisions of the discovery board / external serial module","id":"93","title":"Older revisions of the discovery board / external serial module"},"94":{"body":"Dealing with serial devices using echo is far from ergonomic. So, we'll use the program minicom to interact with the serial device using the keyboard. We must configure minicom before we use it. There are quite a few ways to do that but we'll use a .minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following contents: $ cat ~/.minirc.dfl\npu baudrate 115200\npu bits 8\npu parity N\npu stopbits 1\npu rtscts No\npu xonxoff No NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it. That file should be straightforward to read (except for the last two lines), but nonetheless let's go over it line by line: pu baudrate 115200. Sets baud rate to 115200 bps. pu bits 8. 8 bits per frame. pu parity N. No parity check. pu stopbits 1. 1 stop bit. pu rtscts No. No hardware control flow. pu xonxoff No. No software control flow. Once that's in place, we can launch minicom. $ # NOTE you may need to use a different device here\n$ minicom -D /dev/ttyACM0 -b 115200 This tells minicom to open the serial device at /dev/ttyACM0 and set its baud rate to 115200. A text-based user interface (TUI) will pop out. You can now send data using the keyboard! Go ahead and type something. Note that the TUI will not echo back what you type but, if you are using an external module, you may see some LED on the module blink with each keystroke.","breadcrumbs":"Serial communication » *nix tooling » All revisions: minicom","id":"94","title":"All revisions: minicom"},"95":{"body":"minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On mac, the shortcuts start with the Meta key. Some useful commands below: Ctrl+A + Z. Minicom Command Summary Ctrl+A + C. Clear the screen Ctrl+A + X. Exit and reset Ctrl+A + Q. Quit with no reset NOTE mac users: In the above commands, replace Ctrl+A with Meta.","breadcrumbs":"Serial communication » *nix tooling » minicom commands","id":"95","title":"minicom commands"},"96":{"body":"Start by unplugging your discovery board. Before plugging the discovery board or the serial module, run the following command on the terminal: $ mode It will print a list of devices that are connected to your computer. The ones that start with COM in their names are serial devices. This is the kind of device we'll be working with. Take note of all the COM ports mode outputs before plugging the serial module. Now, plug the discovery board and run the mode command again. If you see a new COM port appear on the list then you have a newer revision of the discovery and that's the COM port assigned to the serial functionality on the discovery. You can skip the next paragraph. If you didn't get a new COM port then you probably have an older revision of the discovery. Now plug the serial module; you should see new COM port appear; that's the COM port of the serial module. Now launch putty. A GUI will pop out. On the starter screen, which should have the \"Session\" category open, pick \"Serial\" as the \"Connection type\". On the \"Serial line\" field enter the COM device you got on the previous step, for example COM3. Next, pick the \"Connection/Serial\" category from the menu on the left. On this new view, make sure that the serial port is configured as follows: \"Speed (baud)\": 115200 \"Data bits\": 8 \"Stop bits\": 1 \"Parity\": None \"Flow control\": None Finally, click the Open button. A console will show up now: If you type on this console, the TX (red) LED on the Serial module should blink. Each key stroke should make the LED blink once. Note that the console won't echo back what you type so the screen will remain blank.","breadcrumbs":"Serial communication » Windows tooling » Windows tooling","id":"96","title":"Windows tooling"},"97":{"body":"We've tested sending data. It's time to test receiving it. Except that there's no other device that can send us some data ... or is there? Enter: loopbacks You can send data to yourself! Not very useful in production but very useful for debugging.","breadcrumbs":"Serial communication » Loopbacks » Loopbacks","id":"97","title":"Loopbacks"},"98":{"body":"Connect the TXO and the RXI pins of the serial module together using a male to male jumper wire as shown above. Now enter some text into minicom/PuTTY and observe. What happens? You should see three things: As before, the TX (red) LED blinks on each key press. But now the RX (green) LED blinks on each key press as well! This indicates that the serial module is receiving some data; the one it just sent. Finally, on the minicom/PuTTY console, you should see that what you type echoes back to the console.","breadcrumbs":"Serial communication » Loopbacks » Older board revision / external serial module","id":"98","title":"Older board revision / external serial module"},"99":{"body":"If you have a newer revision of the board you can set up a loopback by shorting the PC4 and PC5 pins using a female to female jumper wire, like you did for the SWO pin . You should now be able to send data to yourself. Now try to enter some text into minicom/PuTTY and observe. NOTE : To rule out the possibility of the existing firmware doing weird things to the serial pins (PC4 and PC5) we recommend holding the reset button while you enter text into minicom/PuTTY. If all is working you should see what you type echoed back to minicom/PuTTY console. Now that you are familiar with sending and receiving data over serial port using minicom/PuTTY, let's make your microcontroller and your computer talk!","breadcrumbs":"Serial communication » Loopbacks » Newer board revision","id":"99","title":"Newer board revision"}},"length":177,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"85":{"tf":1.0}}}},"1":{"_":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"69":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"1":{"5":{"5":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"1":{"df":3,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0}}},"2":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":3.1622776601683795}}},"1":{".":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"3":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":3,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{"5":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}},"s":{":":{"4":{"7":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"7":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"142":{"tf":1.0}}},"6":{".":{"1":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}},"s":{":":{"4":{"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"3":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"44":{"tf":1.0}}},"5":{"df":1,"docs":{"44":{"tf":1.0}}},":":{"0":{"0":{"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":3.0}}},"1":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}},"4":{"0":{"3":{":":{"6":{"0":{"0":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{":":{"3":{"7":{"4":{"b":{"df":2,"docs":{"33":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"168":{"tf":1.0},"18":{"tf":1.0}}},"5":{"df":3,"docs":{"118":{"tf":1.0},"14":{"tf":1.0},"67":{"tf":1.0}}},"6":{"df":2,"docs":{"14":{"tf":1.0},"70":{"tf":1.0}}},"7":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"0":{"0":{"0":{"1":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"f":{"6":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"3":{"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"168":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"_":{"1":{"1":{"0":{"0":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"1":{"0":{"0":{"0":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"{":{":":{"0":{"8":{"b":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":2.0},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":3.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":2,"docs":{"62":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"4":{"8":{"3":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"1":{"9":{"4":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"f":{"0":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"4":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.0}}},"8":{"df":1,"docs":{"65":{"tf":1.0}}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"1":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"3":{"0":{"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"a":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"c":{"df":2,"docs":{"66":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"c":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"c":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"5":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"c":{"4":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"7":{"4":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"6":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"0":{"0":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"9":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"b":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"df":3,"docs":{"69":{"tf":4.898979485566356},"78":{"tf":1.0},"79":{"tf":3.3166247903554}}},"1":{"0":{"0":{"3":{"6":{"4":{"2":{"2":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"74":{"tf":1.0}}},"9":{"4":{"df":6,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"76":{"tf":1.4142135623730951}},"f":{"4":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"3":{"a":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"f":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"3":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":2.0},"78":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"7":{"4":{"b":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"4":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"8":{"0":{"0":{"1":{"0":{"0":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"1":{"8":{"df":3,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"0":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"77":{"tf":1.0}}},"8":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"5":{"0":{"0":{"0":{"4":{"0":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"2":{"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"c":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":9,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"4":{"df":8,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"f":{"0":{"df":3,"docs":{"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"a":{"df":1,"docs":{"63":{"tf":1.0}}},"d":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"8":{"1":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"2":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"5":{"a":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"6":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"9":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"a":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"5":{"c":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"c":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"6":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"4":{"8":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"4":{"2":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":2.23606797749979},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"1":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"b":{"5":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"a":{"a":{"a":{"a":{"a":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"{":{":":{"0":{"2":{"df":0,"docs":{},"x":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"4":{"df":0,"docs":{},"x":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{",":{"5":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"3":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"7":{"1":{"8":{"7":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{".":{"2":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{".":{"0":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}},"6":{"4":{"4":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"124":{"tf":1.0},"138":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772}},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"1":{"3":{"2":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"6":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"8":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"df":15,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"77":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"2":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":2.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"7":{"9":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{",":{"2":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":5,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":2.23606797749979},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":9,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":1.4142135623730951}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"7":{"6":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"3":{"4":{"df":2,"docs":{"111":{"tf":1.0},"115":{"tf":1.0}}},"df":2,"docs":{"171":{"tf":2.0},"172":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":10,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"78":{"tf":1.0}},"g":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"3":{"4":{"2":{"1":{"7":{"7":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{".":{"6":{"7":{"5":{"3":{"1":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},":":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"75":{"tf":1.0}}},"4":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"6":{"3":{"3":{"9":{"2":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"0":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"66":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"80":{"tf":1.0}}},"7":{"3":{"3":{"6":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":3.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":3.4641016151377544},"76":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"7":{".":{"9":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.0}}},"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"64":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}},"8":{".":{"0":{"4":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"135":{"tf":1.0}}},"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"7":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"9":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":6,"docs":{"66":{"tf":2.449489742783178},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0}}},"9":{"1":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"132":{"tf":1.0}}},"5":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"132":{"tf":1.0}}},"df":5,"docs":{"107":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":44,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":4.58257569495584},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":3.0},"72":{"tf":2.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":4.47213595499958},"76":{"tf":1.7320508075688772},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"6":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":5,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"66":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},".":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"7":{"df":1,"docs":{"17":{"tf":1.0}}},"8":{"8":{"8":{"1":{"8":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"1":{"5":{"6":{"0":{"8":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"168":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"/":{"0":{"9":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"78":{"tf":1.0}}},"8":{"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"0":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{":":{"0":{"5":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"128":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"1":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"138":{"tf":2.23606797749979}}},"df":5,"docs":{"44":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"2":{".":{"4":{".":{"9":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"4":{"1":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"165":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"86":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"77":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.0},"75":{"tf":1.0}}},"4":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"3":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"4":{"8":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"5":{"0":{"df":2,"docs":{"131":{"tf":1.0},"137":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"148":{"tf":1.0}},"k":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"9":{"df":1,"docs":{"44":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"93":{"tf":1.0}}},"8":{".":{"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{".":{"8":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"6":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"66":{"tf":2.449489742783178}}},"9":{"0":{"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.3166247903554},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"f":{"3":{"8":{"df":0,"docs":{},"f":{"6":{"b":{".":{".":{"9":{"5":{"8":{"6":{"0":{"a":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"8":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"9":{"0":{"0":{"df":1,"docs":{"105":{"tf":2.0}}},"6":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"2":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"v":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"4":{"9":{"9":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"0":{":":{"1":{"0":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"8":{"8":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}},"2":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"40":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":2.23606797749979}}},"3":{"3":{"3":{"df":7,"docs":{"166":{"tf":1.4142135623730951},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.0}}},"df":0,"docs":{}},"7":{"7":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"0":{"df":1,"docs":{"135":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"4":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"2":{".":{"3":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":14,"docs":{"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"138":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"73":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}}},"4":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.7320508075688772}}},"df":1,"docs":{"124":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"9":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"106":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":5,"docs":{"106":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951}}},"4":{"4":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}},"5":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"56":{"tf":1.0}}},"6":{"6":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}},"7":{"1":{"2":{"3":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"132":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}},"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":16,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"173":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.7320508075688772},"71":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"5":{".":{"1":{".":{"1":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":0,"docs":{},"k":{"b":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"66":{"tf":3.3166247903554}}},"8":{"6":{"1":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"66":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.0}}},"1":{"df":1,"docs":{"74":{"tf":1.0}}},"2":{"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"3":{"6":{"8":{"7":{"0":{"9":{"1":{"2":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.0}}},"5":{"5":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"138":{"tf":1.0}}},"6":{"0":{"df":4,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":2,"docs":{"69":{"tf":1.0},"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"7":{"0":{"df":3,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"71":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":9,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"173":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"84":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":1,"docs":{"173":{"tf":1.0}}},"v":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}},"6":{".":{"4":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"1":{"2":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"9":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{":":{"8":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"5":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"6":{"6":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"1":{"7":{":":{"2":{"9":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":7,"docs":{"131":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"7":{".":{"1":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"3":{"df":1,"docs":{"138":{"tf":1.0}}},"4":{"9":{"7":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"9":{"7":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"67":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"8":{".":{"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"8":{"df":1,"docs":{"85":{"tf":1.0}}},"a":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"9":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"4":{"df":1,"docs":{"85":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"8":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"f":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"1":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"3":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"6":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"6":{"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"7":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"64":{"tf":1.4142135623730951}}},"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"8":{"3":{"2":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"8":{"df":1,"docs":{"129":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"7":{"2":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":20,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"136":{"tf":2.8284271247461903},"65":{"tf":2.23606797749979},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"9":{",":{"6":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"4":{".":{"1":{"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"132":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"5":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.449489742783178},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"107":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":13,"docs":{"113":{"tf":1.4142135623730951},"131":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.7320508075688772}}},"_":{"_":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"107":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"142":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":10,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":3.7416573867739413}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"5":{"1":{"df":0,"docs":{},"e":{"7":{"c":{"3":{"d":{"a":{"a":{"d":{"2":{"a":{"df":0,"docs":{},"f":{"2":{"5":{"1":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"f":{"2":{"b":{"c":{"7":{"9":{"9":{"0":{"b":{"1":{"3":{"7":{"3":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"6":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"1":{"8":{"c":{"0":{"6":{"0":{"0":{"1":{"4":{"a":{"5":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"0":{"2":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":1,"docs":{"56":{"tf":1.0}},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"76":{"tf":1.0}}}},"v":{"df":15,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"56":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"159":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.7320508075688772},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"139":{"tf":1.7320508075688772},"140":{"tf":3.7416573867739413},"141":{"tf":2.449489742783178},"142":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":2.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"148":{"tf":1.0},"166":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"145":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"l":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"92":{"tf":1.0}}},"t":{"df":1,"docs":{"51":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"146":{"tf":1.0},"77":{"tf":1.0}}}},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"116":{"tf":1.0},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0}}},"d":{"df":11,"docs":{"143":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"37":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":4.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"17":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":29,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":2.449489742783178},"130":{"tf":2.449489742783178},"131":{"tf":3.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.7320508075688772},"175":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.7320508075688772},"76":{"tf":3.1622776601683795},"77":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907}}}}}}},"df":3,"docs":{"143":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"65":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"l":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":18,"docs":{"104":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"168":{"tf":1.0},"176":{"tf":1.0},"35":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"85":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"90":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}}}},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}},"k":{"a":{"df":3,"docs":{"14":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"118":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}},"g":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":22,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"45":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"135":{"tf":1.0},"144":{"tf":1.0},"149":{"tf":1.0},"77":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":12,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.7320508075688772}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"135":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"150":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.4142135623730951},"172":{"tf":1.0},"65":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"106":{"tf":1.7320508075688772},"119":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"90":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"b":{"1":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"86":{"tf":2.6457513110645907},"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":2,"docs":{"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":2.449489742783178}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"141":{"tf":2.0},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"103":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"12":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"155":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"55":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"138":{"tf":1.0},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"28":{"tf":1.0}}}}},"x":{"df":1,"docs":{"118":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"84":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"15":{"tf":1.0},"56":{"tf":1.7320508075688772},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":2,"docs":{"65":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":5,"docs":{"106":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"m":{"'":{"df":2,"docs":{"28":{"tf":1.0},"52":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":24,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"37":{"tf":2.0},"41":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.449489742783178},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"56":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"86":{"tf":1.4142135623730951},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}},"m":{"df":3,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"65":{"tf":2.6457513110645907},"66":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"116":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"132":{"tf":1.0},"44":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"153":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"148":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"t":{"+":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"1":{"1":{"5":{"2":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"121":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"135":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"169":{"tf":1.0},"51":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"3":{"7":{"4":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"4":{"0":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"8":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"1":{"1":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}},"4":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}}}},"{":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"1":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"72":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"8":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"159":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"105":{"tf":1.0},"157":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"159":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"140":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"x":{"df":3,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0}},"i":{"df":7,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"b":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":4.58257569495584},"75":{"tf":1.0},"76":{"tf":1.0}}}},"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"102":{"tf":1.7320508075688772},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"10":{"tf":1.0},"148":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"158":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"143":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":11,"docs":{"0":{"tf":1.0},"113":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0},"59":{"tf":1.0},"74":{"tf":2.0},"78":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}},"u":{"d":{"df":8,"docs":{"105":{"tf":1.0},"118":{"tf":2.23606797749979},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":9,"docs":{"14":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"170":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"85":{"tf":1.0},"88":{"tf":1.0}}}}},"df":7,"docs":{"118":{"tf":1.0},"145":{"tf":1.7320508075688772},"158":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.0},"129":{"tf":1.0},"141":{"tf":1.0},"170":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"80":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"172":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0}},"n":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"52":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"df":18,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"18":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"131":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"69":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"151":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.7320508075688772}}}}},"d":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951}}},"df":6,"docs":{"28":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772}}}}}}},"t":{"df":27,"docs":{"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":2.449489742783178},"78":{"tf":2.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.8284271247461903},"94":{"tf":2.0},"96":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"129":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":4.358898943540674},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":11,"docs":{"111":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":12,"docs":{"113":{"tf":2.0},"166":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"78":{"tf":2.6457513110645907},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}},"g":{"df":1,"docs":{"159":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":2.0},"123":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"115":{"tf":1.0}}}}},"df":15,"docs":{"111":{"tf":3.0},"112":{"tf":1.4142135623730951},"113":{"tf":2.6457513110645907},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"118":{"tf":2.6457513110645907},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"17":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951}}}}}}},"z":{"df":5,"docs":{"113":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":35,"docs":{"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":2.449489742783178},"139":{"tf":1.0},"14":{"tf":3.3166247903554},"140":{"tf":2.6457513110645907},"141":{"tf":1.7320508075688772},"157":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"92":{"tf":1.7320508075688772},"93":{"tf":1.0},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":14,"docs":{"0":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"3":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":4,"docs":{"105":{"tf":1.0},"123":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}},"r":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"tf":2.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":9,"docs":{"110":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":3.1622776601683795},"65":{"tf":2.23606797749979},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"171":{"tf":3.4641016151377544},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":3.4641016151377544},"66":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":2.23606797749979},"71":{"tf":3.7416573867739413},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":2.23606797749979},"130":{"tf":2.23606797749979},"131":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":4,"docs":{"74":{"tf":2.449489742783178},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951}}}},"s":{"df":1,"docs":{"69":{"tf":2.0}}}},"t":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"u":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":2.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"df":5,"docs":{"105":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":2.0},"131":{"tf":2.449489742783178},"148":{"tf":1.0}}}}}},"g":{"df":3,"docs":{"159":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"1":{"tf":1.0},"104":{"tf":1.0},"139":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"139":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"118":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"155":{"tf":1.0}}},"i":{"df":3,"docs":{"107":{"tf":1.0},"52":{"tf":1.0},"88":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"118":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"14":{"tf":1.0}}}},"x":{"df":1,"docs":{"76":{"tf":1.0}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":18,"docs":{"103":{"tf":1.7320508075688772},"105":{"tf":3.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":3.0},"148":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"56":{"tf":2.23606797749979},"65":{"tf":1.0},"69":{"tf":1.0},"90":{"tf":1.0}},"s":{"/":{"df":1,"docs":{"105":{"tf":1.0}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}},":":{"1":{"0":{"7":{"2":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"6":{"8":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},":":{"\\":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"\\":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.4142135623730951}},"s":{"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"47":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"38":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"102":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"14":{"tf":2.23606797749979},"164":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"138":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"l":{"df":15,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"106":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":2.0},"55":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"147":{"tf":2.0},"159":{"tf":1.0},"60":{"tf":1.0}}}},"c":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"133":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"129":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"55":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"102":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":3.3166247903554},"67":{"tf":2.0}}}}}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"62":{"tf":1.0},"66":{"tf":3.1622776601683795},"71":{"tf":3.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":23,"docs":{"12":{"tf":1.0},"159":{"tf":1.0},"167":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":3.1622776601683795},"55":{"tf":2.0},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":4,"docs":{"63":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"103":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"60":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"20":{"tf":1.4142135623730951},"28":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":1.0},"71":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"!":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}},"h":{"3":{"4":{"0":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"141":{"tf":1.0},"67":{"tf":2.0},"84":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"45":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"80":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":2,"docs":{"103":{"tf":1.0},"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"k":{"df":20,"docs":{"113":{"tf":1.0},"119":{"tf":1.0},"140":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.0},"18":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"115":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":5,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.6457513110645907},"59":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"138":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"3":{"tf":1.0},"51":{"tf":1.0}}}},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"171":{"tf":1.7320508075688772},"65":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"124":{"tf":1.7320508075688772},"154":{"tf":1.0},"158":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":2.449489742783178},"90":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"h":{"7":{"1":{"1":{"c":{"df":0,"docs":{},"e":{"9":{"b":{"d":{"6":{"8":{"a":{"6":{"3":{"2":{"8":{"df":0,"docs":{},"f":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"165":{"tf":1.0},"48":{"tf":1.0}}}}}},"df":13,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"76":{"tf":1.0}},"r":{"df":2,"docs":{"105":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"78":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":33,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"m":{"3":{"df":1,"docs":{"96":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"96":{"tf":2.8284271247461903}},"e":{"df":6,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":33,"docs":{"104":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":5.385164807134504},"66":{"tf":3.4641016151377544},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.23606797749979},"96":{"tf":1.4142135623730951}},"s":{":":{"3":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"r":{"c":{"df":1,"docs":{"14":{"tf":2.0}},"i":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"159":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":14,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.1622776601683795}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"132":{"tf":2.0},"133":{"tf":2.0},"16":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"168":{"tf":2.0},"20":{"tf":1.0},"56":{"tf":7.54983443527075},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"105":{"tf":1.0},"14":{"tf":1.0},"148":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":29,"docs":{"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"135":{"tf":1.0},"17":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"8":{"tf":1.0},"90":{"tf":2.8284271247461903},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"113":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":1,"docs":{"67":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"118":{"tf":2.0},"128":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"55":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.23606797749979},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"118":{"tf":1.0},"166":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"111":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":3.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"129":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":2.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"153":{"tf":1.0}}}}},"df":12,"docs":{"129":{"tf":1.7320508075688772},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"85":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"m":{"df":1,"docs":{"10":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"34":{"tf":1.4142135623730951},"67":{"tf":1.0},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":3,"docs":{"131":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":16,"docs":{"104":{"tf":1.0},"107":{"tf":1.7320508075688772},"138":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"65":{"tf":2.8284271247461903},"66":{"tf":5.5677643628300215},"67":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":23,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":2.23606797749979},"158":{"tf":1.4142135623730951},"172":{"tf":1.0},"176":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"1":{"tf":1.0},"137":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"34":{"tf":1.0},"53":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"12":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"145":{"tf":1.7320508075688772}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}},"y":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"<":{"(":{")":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{"+":{"1":{"4":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":2.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"168":{"tf":2.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"42":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"137":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.3166247903554},"55":{"tf":1.4142135623730951},"56":{"tf":3.605551275463989},"59":{"tf":1.0},"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"149":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"0":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"3":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"174":{"tf":1.4142135623730951}},"u":{"df":5,"docs":{"11":{"tf":1.0},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"1":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"14":{"tf":1.4142135623730951},"159":{"tf":1.0},"168":{"tf":2.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"166":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"56":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"44":{"tf":2.0},"93":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"138":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"95":{"tf":2.449489742783178}}},"c":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.0}}},"df":0,"docs":{}},"df":3,"docs":{"48":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"121":{"tf":1.0},"132":{"tf":1.0},"145":{"tf":1.4142135623730951},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"51":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"77":{"tf":1.7320508075688772}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"150":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"d":{"a":{"c":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"df":34,"docs":{"100":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"105":{"tf":2.23606797749979},"107":{"tf":2.6457513110645907},"124":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"77":{"tf":1.0},"90":{"tf":3.4641016151377544},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"154":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"1":{"7":{"df":0,"docs":{},"f":{".":{".":{"0":{"2":{"a":{"c":{"9":{"5":{"2":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"117":{"tf":1.0},"173":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"159":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":10,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"171":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"24":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}},"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":26,"docs":{"1":{"tf":1.0},"105":{"tf":2.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":3.1622776601683795},"66":{"tf":2.23606797749979},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}},"g":{"df":8,"docs":{"104":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}}}}}}},"df":1,"docs":{"90":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"166":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"86":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{"(":{"1":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":3,"docs":{"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"v":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":19,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":3.872983346207417},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":3.0},"85":{"tf":2.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":2.8284271247461903}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"=":{"'":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"65":{"tf":2.23606797749979},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":22,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"1":{"1":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":6,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"61":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.0}}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":2.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"128":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"124":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"51":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"3":{"/":{"0":{"0":{"4":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"116":{"tf":1.0},"117":{"tf":1.0}}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":2,"docs":{"116":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":11,"docs":{"116":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"147":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"c":{"df":34,"docs":{"11":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":2.449489742783178},"125":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":2.449489742783178},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":2.0},"90":{"tf":1.7320508075688772},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"96":{"tf":2.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"166":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"151":{"tf":2.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"73":{"tf":2.0},"79":{"tf":1.0},"81":{"tf":2.23606797749979}}}}},"m":{"df":1,"docs":{"150":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.0},"148":{"tf":1.0},"158":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"139":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"171":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"173":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"0":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":2.449489742783178}}},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"0":{"5":{"df":5,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":2.449489742783178}}},"6":{"df":2,"docs":{"70":{"tf":2.23606797749979},"71":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"144":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"118":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}},"m":{"a":{"df":2,"docs":{"148":{"tf":1.7320508075688772},"56":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"f":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}}},"o":{"c":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"166":{"tf":1.0},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.7320508075688772},"52":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}}}},"df":8,"docs":{"149":{"tf":1.0},"2":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{".":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":24,"docs":{"101":{"tf":1.0},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":9,"docs":{"124":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"n":{"df":1,"docs":{"86":{"tf":1.0}}},"r":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"162":{"tf":1.0},"40":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"14":{"tf":1.0},"168":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":4,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"141":{"tf":1.0},"70":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"163":{"tf":1.0},"28":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":16,"docs":{"165":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":1.0},"56":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}}}},"l":{"df":9,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"69":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":24,"docs":{"105":{"tf":1.0},"109":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"133":{"tf":1.0},"166":{"tf":1.4142135623730951},"173":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"80":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":5,"docs":{"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"df":7,"docs":{"133":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":7,"docs":{"108":{"tf":1.7320508075688772},"117":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":5,"docs":{"106":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"f":{".":{"df":0,"docs":{},"p":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":2.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"147":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"132":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"150":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.7320508075688772},"73":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"9":{"tf":1.0}}}}}}},"f":{"3":{"2":{"df":2,"docs":{"56":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":22,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"147":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":2.0},"56":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903},"68":{"tf":1.0},"70":{"tf":2.8284271247461903},"71":{"tf":2.6457513110645907},"9":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":1,"docs":{"133":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.4142135623730951},"171":{"tf":2.0},"51":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"71":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":12,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"109":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"162":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"88":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"171":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.3166247903554},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"133":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"128":{"tf":1.0},"15":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"140":{"tf":1.0}}},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"56":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"r":{"(":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":13,"docs":{"109":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"159":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"166":{"tf":1.7320508075688772},"168":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"s":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"118":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"c":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"d":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"34":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"1":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"133":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"s":{":":{"3":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"7":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":1,"docs":{"1":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"171":{"tf":1.4142135623730951},"54":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"153":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"118":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.7320508075688772},"76":{"tf":4.0},"78":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"100":{"tf":1.0},"124":{"tf":1.7320508075688772},"53":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":5,"docs":{"37":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907}},"e":{"c":{"df":1,"docs":{"56":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":24,"docs":{"10":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"145":{"tf":2.8284271247461903},"146":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.6457513110645907},"176":{"tf":1.4142135623730951},"33":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":3.7416573867739413},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"106":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"152":{"tf":1.0},"3":{"tf":1.0},"76":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":5,"docs":{"107":{"tf":1.0},"138":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"153":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":8,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"102":{"tf":1.7320508075688772},"132":{"tf":1.0},"14":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":6,"docs":{"129":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"69":{"tf":1.0}}}},"f":{"/":{"df":0,"docs":{},"f":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":2.0}}},"m":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951}}}},"3":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"2":{")":{".":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{")":{".":{"a":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"z":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":2.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772}}},"df":18,"docs":{"102":{"tf":2.23606797749979},"111":{"tf":2.0},"118":{"tf":2.0},"123":{"tf":2.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"159":{"tf":1.0},"33":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"155":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"101":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":2.449489742783178},"164":{"tf":2.449489742783178},"168":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"94":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"s":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":4,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}}}}},"n":{"df":1,"docs":{"9":{"tf":1.0}}},"q":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"148":{"tf":1.0},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"153":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"105":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"65":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":14,"docs":{"138":{"tf":1.7320508075688772},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.7320508075688772},"173":{"tf":2.0},"45":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":2.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"63":{"tf":2.0},"70":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"157":{"tf":1.0},"166":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"b":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}},"w":{"df":9,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":11,"docs":{"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.23606797749979},"138":{"tf":1.7320508075688772},"159":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"44":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"87":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":24,"docs":{"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"16":{"tf":1.0},"165":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"70":{"tf":2.8284271247461903},"71":{"tf":2.23606797749979},"78":{"tf":2.0},"85":{"tf":1.0},"93":{"tf":1.7320508075688772},"94":{"tf":2.0}}},"l":{"df":2,"docs":{"107":{"tf":1.0},"131":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"102":{"tf":1.0},"104":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"d":{"df":15,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":13,"docs":{"107":{"tf":1.0},"149":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"37":{"tf":1.0},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.7320508075688772},"175":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}}}},"x":{"df":8,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"m":{"df":1,"docs":{"135":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"1":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":5,"docs":{"51":{"tf":1.4142135623730951},"65":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"n":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":29,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}}},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"k":{"df":1,"docs":{"68":{"tf":2.0}}},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}},"df":5,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"158":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"1":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}},"x":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"175":{"tf":4.0},"55":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":2.0},"90":{"tf":2.0},"94":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"107":{"tf":1.0},"140":{"tf":1.7320508075688772},"159":{"tf":1.0},"166":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"154":{"tf":1.0},"2":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"t":{"2":{"3":{"2":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"93":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"110":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":2,"docs":{"14":{"tf":1.0},"150":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":27,"docs":{"1":{"tf":1.0},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"14":{"tf":1.0},"159":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.605551275463989},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"81":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"77":{"tf":1.0},"79":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"159":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"159":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"142":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":2.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"137":{"tf":2.6457513110645907}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"79":{"tf":1.0}}}}},"c":{"c":{"df":2,"docs":{"37":{"tf":2.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":34,"docs":{"107":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"166":{"tf":1.0},"169":{"tf":1.4142135623730951},"17":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"37":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.605551275463989},"64":{"tf":2.0},"65":{"tf":7.745966692414834},"66":{"tf":8.366600265340756},"67":{"tf":4.123105625617661},"69":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":3.4641016151377544},"74":{"tf":2.23606797749979},"75":{"tf":3.4641016151377544},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"10":{"tf":1.7320508075688772},"125":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":2.0},"65":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":1.0}}},"t":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0}},"n":{"df":3,"docs":{"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"d":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":1,"docs":{"137":{"tf":1.4142135623730951}},"u":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"7":{"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"0":{"4":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"3":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"20":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"106":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.0}}}},"df":25,"docs":{"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":6,"docs":{"141":{"tf":1.0},"142":{"tf":1.0},"51":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}},"o":{"d":{"df":8,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":4,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"81":{"tf":1.0}},"e":{".":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"78":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"80":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"74":{"tf":2.0},"78":{"tf":3.3166247903554},"79":{"tf":2.449489742783178},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951}}},"x":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"a":{"b":{"df":4,"docs":{"13":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"78":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"112":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"133":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":4,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"140":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"74":{"tf":1.0}}}}},"i":{"df":1,"docs":{"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":5,"docs":{"124":{"tf":1.0},"157":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178}},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":5.291502622129181}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"66":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"64":{"tf":1.0},"76":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":2.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"140":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"d":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"67":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"df":20,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"145":{"tf":1.0},"156":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"67":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"c":{"df":2,"docs":{"118":{"tf":1.0},"14":{"tf":1.4142135623730951}},"i":{"0":{"df":1,"docs":{"113":{"tf":2.23606797749979}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"113":{"tf":2.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"16":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"56":{"tf":3.3166247903554},"70":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"z":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"20":{"tf":1.0},"70":{"tf":3.7416573867739413},"71":{"tf":3.3166247903554},"93":{"tf":1.0}}}},"p":{"df":10,"docs":{"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.7320508075688772},"159":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":11,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0}}},"df":18,"docs":{"12":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"51":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}}},"t":{"df":7,"docs":{"10":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}},"l":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"118":{"tf":1.0},"133":{"tf":1.0},"163":{"tf":1.0},"52":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"a":{"d":{"a":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"v":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"df":4,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}}}},"o":{"d":{"df":2,"docs":{"132":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"52":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"154":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"a":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"m":{"df":5,"docs":{"103":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}}},"v":{"df":4,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}}},".":{"df":3,"docs":{"141":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"1":{"6":{"df":1,"docs":{"131":{"tf":1.7320508075688772}},"x":{"3":{"df":9,"docs":{"132":{"tf":2.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"2":{"c":{"1":{".":{"c":{"df":0,"docs":{},"r":{"2":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":11,"docs":{"1":{"tf":1.0},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"128":{"tf":2.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0}}},"df":1,"docs":{"155":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"65":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"a":{"df":4,"docs":{"146":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"i":{"df":1,"docs":{"134":{"tf":1.0}},"i":{"df":1,"docs":{"134":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"71":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":1.0}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":2.6457513110645907},"108":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"159":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"138":{"tf":2.6457513110645907},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"135":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"133":{"tf":1.4142135623730951},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":11,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"163":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"o":{"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":2.0},"48":{"tf":3.0},"59":{"tf":3.0},"62":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":2.8284271247461903},"66":{"tf":1.4142135623730951},"71":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":18,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"176":{"tf":1.0},"28":{"tf":1.0},"66":{"tf":1.0}},"i":{"df":14,"docs":{"103":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":2.449489742783178},"83":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":4,"docs":{"1":{"tf":1.0},"151":{"tf":1.7320508075688772},"81":{"tf":1.0},"84":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":14,"docs":{"104":{"tf":1.0},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"155":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":22,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"n":{"c":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"105":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":22,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.7320508075688772},"149":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"78":{"tf":1.7320508075688772},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":23,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"14":{"tf":1.0},"146":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"56":{"tf":1.0},"6":{"tf":1.0}},"r":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0}}}},"l":{"df":1,"docs":{"52":{"tf":1.0}}},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"149":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"124":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"162":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"65":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"44":{"tf":1.0},"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"1":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":2.23606797749979},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"10":{"tf":1.0},"141":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"76":{"tf":2.449489742783178},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":9,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"15":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":21,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":25,"docs":{"103":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}}}}}},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":2.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"a":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"129":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"165":{"tf":1.0},"4":{"tf":1.0},"65":{"tf":2.0},"70":{"tf":1.4142135623730951}}}}},"t":{"'":{"df":29,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":1.4142135623730951},"146":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"143":{"tf":1.0},"156":{"tf":1.0}}}},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"[":{"0":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"138":{"tf":1.0},"165":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"131":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"df":13,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"138":{"tf":1.7320508075688772},"140":{"tf":1.0},"165":{"tf":2.449489742783178},"17":{"tf":1.0},"19":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":1.7320508075688772}}}}}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.449489742783178},"77":{"tf":3.0},"78":{"tf":1.0},"90":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"134":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"172":{"tf":1.7320508075688772},"55":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"k":{"b":{"/":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.4142135623730951},"150":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"78":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"94":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"71":{"tf":1.0},"94":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":9,"docs":{"124":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"59":{"tf":2.449489742783178},"64":{"tf":3.872983346207417},"65":{"tf":2.23606797749979},"71":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}},"n":{"d":{"a":{"df":1,"docs":{"118":{"tf":1.0}}},"df":5,"docs":{"148":{"tf":1.0},"149":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":9,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"145":{"tf":1.0},"159":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"3":{"df":0,"docs":{},"g":{"d":{"2":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.0},"67":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"#":{"2":{"8":{"7":{"2":{"8":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":4,"docs":{"105":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"94":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"129":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"57":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"55":{"tf":1.0},"65":{"tf":3.0},"78":{"tf":1.4142135623730951}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"d":{"3":{"df":2,"docs":{"132":{"tf":1.0},"74":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":3,"docs":{"66":{"tf":2.449489742783178},"75":{"tf":2.0},"76":{"tf":2.0}}}},"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"154":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"131":{"tf":1.0},"168":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}},"v":{"df":7,"docs":{"148":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}},"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"1":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":43,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":2.449489742783178},"133":{"tf":3.3166247903554},"134":{"tf":1.4142135623730951},"135":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"150":{"tf":2.0},"151":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":2.6457513110645907},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":2.0},"66":{"tf":5.830951894845301},"67":{"tf":3.4641016151377544},"69":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":2.6457513110645907},"74":{"tf":3.1622776601683795},"75":{"tf":3.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":2.449489742783178},"80":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":2.23606797749979},"84":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"[":{"0":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"143":{"tf":1.4142135623730951},"65":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"105":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"137":{"tf":1.0},"159":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"'":{"df":38,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"77":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"38":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":2.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"5":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"73":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":21,"docs":{"100":{"tf":2.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"124":{"tf":2.23606797749979},"171":{"tf":1.7320508075688772},"172":{"tf":2.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":3.1622776601683795},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":2.449489742783178},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"k":{"/":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"45":{"tf":1.0}}},"2":{".":{"1":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":12,"docs":{"16":{"tf":1.0},"162":{"tf":1.7320508075688772},"33":{"tf":1.7320508075688772},"40":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"df":18,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"66":{"tf":2.6457513110645907},"75":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":1.0},"113":{"tf":1.7320508075688772},"166":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"62":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":3,"docs":{"20":{"tf":2.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":6,"docs":{"63":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"a":{"d":{"df":10,"docs":{"150":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":3.4641016151377544},"67":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":2.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":2.6457513110645907},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":8,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.7320508075688772},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"46":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"138":{"tf":1.0},"2":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"133":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":21,"docs":{"100":{"tf":1.0},"106":{"tf":2.23606797749979},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0},"51":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":39,"docs":{"1":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":3.1622776601683795},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"s":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"105":{"tf":1.0},"164":{"tf":1.4142135623730951}}}},"t":{"df":5,"docs":{"143":{"tf":1.0},"152":{"tf":1.0},"6":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.0}}}},"w":{"df":10,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.4142135623730951},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"s":{"b":{"df":1,"docs":{"137":{"tf":2.449489742783178}}},"df":2,"docs":{"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"g":{"1":{"2":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":14,"docs":{"128":{"tf":2.449489742783178},"129":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"166":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"b":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"t":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":2,"docs":{"69":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"51":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":3,"docs":{"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"166":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.0},"58":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":7,"docs":{"106":{"tf":2.0},"138":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.0},"71":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"158":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"137":{"tf":1.4142135623730951}},"i":{"c":{"df":6,"docs":{"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"159":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":2.23606797749979},"130":{"tf":2.0},"131":{"tf":2.6457513110645907},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"10":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":3.0},"138":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"171":{"tf":1.7320508075688772},"70":{"tf":1.0}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{"1":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":45,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"65":{"tf":3.872983346207417},"66":{"tf":3.0},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":35,"docs":{"10":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"102":{"tf":1.0},"14":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"12":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"158":{"tf":1.0},"170":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"84":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"78":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.23606797749979},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"128":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"159":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"124":{"tf":2.449489742783178},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"174":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"h":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":2.449489742783178}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"141":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"51":{"tf":1.0}}},"df":2,"docs":{"50":{"tf":1.7320508075688772},"51":{"tf":2.23606797749979}}}},"df":18,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":2.0},"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"n":{"df":11,"docs":{"105":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.4142135623730951},"159":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"142":{"tf":1.7320508075688772},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"128":{"tf":2.0},"148":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}},"u":{"df":1,"docs":{"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"108":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"109":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"95":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"df":2,"docs":{"10":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"157":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"106":{"tf":2.23606797749979},"135":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"137":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":5,"docs":{"105":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":51,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":2.23606797749979},"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.7320508075688772},"111":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.7320508075688772},"147":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"65":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":1.7320508075688772},"80":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":2.6457513110645907},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}}},"y":{"'":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":10,"docs":{"117":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":2.6457513110645907},"95":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":1,"docs":{"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}},"s":{")":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"s":{"df":2,"docs":{"138":{"tf":1.0},"162":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{":":{"=":{"\"":{"0":{"6":{"6":{"6":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"118":{"tf":2.23606797749979},"124":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"69":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.7320508075688772}},"l":{"df":6,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0}}},"r":{"df":3,"docs":{"78":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"78":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"131":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":25,"docs":{"1":{"tf":1.0},"102":{"tf":3.0},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":2.449489742783178},"118":{"tf":2.6457513110645907},"121":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.8284271247461903},"150":{"tf":1.0},"17":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"93":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":2.23606797749979},"98":{"tf":1.7320508075688772}},"e":{"'":{"df":3,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"165":{"tf":1.4142135623730951},"176":{"tf":2.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}}}},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"(":{")":{".":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"154":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":37,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"124":{"tf":1.0},"159":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"158":{"tf":2.449489742783178}}}}},"v":{".":{"df":0,"docs":{},"w":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":2.0}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":9,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":2.0},"158":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}},"w":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}}}},"s":{"=":{"5":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.449489742783178}},"p":{"4":{"3":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"113":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":2.23606797749979},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"24":{"tf":1.4142135623730951},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"77":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"145":{"tf":3.0},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":28,"docs":{"105":{"tf":2.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"65":{"tf":1.7320508075688772},"66":{"tf":3.605551275463989},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":4.123105625617661},"77":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"90":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"133":{"tf":1.0},"165":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"75":{"tf":1.0}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":8,"docs":{"106":{"tf":1.4142135623730951},"171":{"tf":2.6457513110645907},"172":{"tf":2.0},"173":{"tf":1.0},"175":{"tf":3.1622776601683795},"65":{"tf":2.0},"71":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":36,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":3.0},"143":{"tf":1.0},"146":{"tf":1.0},"17":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"140":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"w":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"92":{"tf":1.0},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"101":{"tf":1.4142135623730951},"128":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"53":{"tf":1.0},"92":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.7320508075688772}}}}}},"x":{"df":0,"docs":{},"t":{"df":31,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":2.6457513110645907},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"139":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}}},"x":{"df":7,"docs":{"46":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"3":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":24,"docs":{"142":{"tf":1.7320508075688772},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":3.3166247903554},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.4641016151377544},"65":{"tf":1.4142135623730951},"66":{"tf":3.0},"67":{"tf":3.3166247903554},"69":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"75":{"tf":1.0},"96":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}}}},"p":{"df":1,"docs":{"85":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"165":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"132":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"e":{"df":35,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"h":{"df":7,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"146":{"tf":1.0},"57":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"55":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":38,"docs":{"102":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"163":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.1622776601683795},"67":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":2.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}}},"p":{"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":15,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"152":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.0},"56":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"71":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"150":{"tf":1.0},"72":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"75":{"tf":2.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":7,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"55":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"149":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"162":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":4,"docs":{"77":{"tf":3.4641016151377544},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}},"df":4,"docs":{"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"166":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"k":{"df":10,"docs":{"106":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.0},"14":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"175":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"118":{"tf":1.0},"151":{"tf":1.0},"74":{"tf":1.0}}}}}},"c":{"df":9,"docs":{"124":{"tf":1.0},"170":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"df":45,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"111":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":2.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.0},"146":{"tf":1.0},"158":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"18":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":3.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":2.23606797749979},"96":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"148":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"102":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"143":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}},"o":{"c":{"d":{"'":{"df":3,"docs":{"166":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"g":{"d":{"b":{"df":6,"docs":{"63":{"tf":3.0},"64":{"tf":1.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.7320508075688772}}}}}},"df":33,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":2.0},"164":{"tf":2.23606797749979},"165":{"tf":1.7320508075688772},"166":{"tf":2.449489742783178},"169":{"tf":1.0},"17":{"tf":1.0},"176":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"38":{"tf":2.23606797749979},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"20":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"14":{"tf":2.0},"159":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"159":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":11,"docs":{"10":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"145":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"65":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":23,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.449489742783178},"3":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":33,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.23606797749979},"111":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.0},"176":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}}}}}},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"p":{"/":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"79":{"tf":1.0}}}},"a":{"1":{"0":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":11,"docs":{"12":{"tf":1.7320508075688772},"124":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.4142135623730951},"20":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}},"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.7320508075688772},"61":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":12,"docs":{"102":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.7320508075688772},"117":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}}}}}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"56":{"tf":1.0},"71":{"tf":2.23606797749979}},"k":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"47":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}}}},"s":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"t":{"df":17,"docs":{"106":{"tf":1.0},"128":{"tf":1.7320508075688772},"14":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"67":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"56":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"t":{"df":2,"docs":{"56":{"tf":1.0},"65":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"102":{"tf":1.0},"28":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":2.0},"39":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}},"y":{"df":1,"docs":{"65":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"70":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"6":{"df":1,"docs":{"129":{"tf":1.0}}},"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"c":{"4":{"df":3,"docs":{"101":{"tf":1.7320508075688772},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"101":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"b":{"df":1,"docs":{"10":{"tf":1.0}}},"df":10,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":2.0}},"e":{"1":{"1":{"df":1,"docs":{"74":{"tf":2.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"74":{"tf":2.23606797749979}}},"df":0,"docs":{},"r":{"df":5,"docs":{"105":{"tf":1.0},"140":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"52":{"tf":1.4142135623730951},"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"150":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":20,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":2.23606797749979},"152":{"tf":1.0},"154":{"tf":1.4142135623730951},"72":{"tf":1.7320508075688772},"74":{"tf":2.23606797749979},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":2.8284271247461903},"81":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"44":{"tf":2.23606797749979},"78":{"tf":2.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"140":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"135":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"90":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"d":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":3,"docs":{"166":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":3,"docs":{"10":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":2.8284271247461903}},"e":{"c":{"df":2,"docs":{"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":21,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":4.242640687119285},"111":{"tf":2.23606797749979},"115":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":2.8284271247461903},"123":{"tf":2.8284271247461903},"129":{"tf":1.0},"151":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"53":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":4.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":2.23606797749979},"82":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":10,"docs":{"158":{"tf":1.0},"171":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"139":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"140":{"tf":1.0},"143":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"155":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":2.23606797749979}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"c":{"a":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"g":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"x":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":2,"docs":{"67":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"44":{"tf":1.0},"96":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":2.6457513110645907},"16":{"tf":1.0},"173":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.0},"65":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"175":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"146":{"tf":1.0},"148":{"tf":1.0},"163":{"tf":2.23606797749979},"164":{"tf":2.23606797749979}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"p":{"df":3,"docs":{"85":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":18,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"166":{"tf":2.6457513110645907},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"74":{"tf":3.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.0},"96":{"tf":2.6457513110645907},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"133":{"tf":1.7320508075688772},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"146":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"8":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.0},"153":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":3.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}},"r":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"129":{"tf":1.0},"2":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"135":{"tf":1.0},"158":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}},"df":3,"docs":{"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"145":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"145":{"tf":1.4142135623730951},"159":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":12,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":8,"docs":{"109":{"tf":1.0},"118":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"67":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":22,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"2":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}}}}},"g":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"52":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"158":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"x":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":20,"docs":{"10":{"tf":1.0},"106":{"tf":1.7320508075688772},"131":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":2.8284271247461903},"174":{"tf":3.0},"175":{"tf":2.449489742783178},"65":{"tf":3.605551275463989},"66":{"tf":3.4641016151377544},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"df":0,"docs":{},"{":{":":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"33":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"162":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"13":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.0},"167":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.7320508075688772}}}}}},"c":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"66":{"tf":1.0}}}}},"df":1,"docs":{"102":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":10,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"166":{"tf":2.0},"3":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"152":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"65":{"tf":2.0},"72":{"tf":1.7320508075688772},"76":{"tf":2.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"14":{"tf":1.0},"153":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"78":{"tf":1.0},"87":{"tf":1.0}},"t":{"df":2,"docs":{"13":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":52,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.0},"169":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":3.0},"56":{"tf":2.23606797749979},"57":{"tf":2.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":4.0},"66":{"tf":4.795831523312719},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":2.449489742783178},"77":{"tf":1.7320508075688772},"78":{"tf":2.23606797749979},"79":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"94":{"tf":1.0}},"m":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"59":{"tf":1.0}}},"df":7,"docs":{"14":{"tf":1.0},"159":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"132":{"tf":1.0},"140":{"tf":2.0},"150":{"tf":1.0},"159":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"162":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"84":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"124":{"tf":2.8284271247461903},"125":{"tf":1.7320508075688772},"131":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.7320508075688772},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.3166247903554}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"c":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"0":{"df":0,"docs":{},"x":{"4":{"8":{"0":{"0":{"_":{"1":{"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"75":{"tf":2.8284271247461903},"77":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":4,"docs":{"106":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}},"df":1,"docs":{"94":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"140":{"tf":1.0},"143":{"tf":1.0}}},"s":{"df":5,"docs":{"1":{"tf":1.0},"150":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"157":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"107":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"86":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"t":{"df":7,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"17":{"tf":1.0},"39":{"tf":1.0},"96":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":2.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"q":{"4":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":10,"docs":{"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":3.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"95":{"tf":1.0}},"u":{"a":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":2.8284271247461903},"134":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"121":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"107":{"tf":1.0},"137":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"149":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"71":{"tf":2.6457513110645907},"75":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"56":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}},"0":{"df":7,"docs":{"168":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":5.291502622129181},"75":{"tf":5.385164807134504},"76":{"tf":4.123105625617661},"78":{"tf":2.449489742783178}}},"1":{"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"df":4,"docs":{"66":{"tf":3.872983346207417},"75":{"tf":4.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.8284271247461903}}},"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"4":{"df":2,"docs":{"66":{"tf":2.0},"85":{"tf":2.23606797749979}}},"5":{"df":1,"docs":{"85":{"tf":2.0}}},"7":{"df":5,"docs":{"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"75":{"tf":3.1622776601683795},"78":{"tf":2.0},"85":{"tf":1.4142135623730951}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"135":{"tf":1.7320508075688772},"136":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"163":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"86":{"tf":1.0}}}},"m":{"df":5,"docs":{"148":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"140":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}}},"w":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}}},"c":{"c":{".":{"a":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":3,"docs":{"138":{"tf":2.449489742783178},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"129":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.4142135623730951},"65":{"tf":2.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":37,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":2.449489742783178},"130":{"tf":1.7320508075688772},"131":{"tf":3.3166247903554},"132":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.7320508075688772},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"81":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":1,"docs":{"68":{"tf":1.0}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"2":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"14":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":17,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":2.0},"109":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"170":{"tf":1.0},"66":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"38":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":12,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"c":{"df":2,"docs":{"131":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"164":{"tf":1.4142135623730951},"44":{"tf":1.0},"56":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":28,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"128":{"tf":2.6457513110645907},"129":{"tf":3.872983346207417},"130":{"tf":2.23606797749979},"131":{"tf":3.1622776601683795},"148":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"175":{"tf":2.23606797749979},"56":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":1.0},"74":{"tf":4.123105625617661},"75":{"tf":3.0},"76":{"tf":2.8284271247461903},"77":{"tf":1.7320508075688772},"78":{"tf":6.164414002968976},"79":{"tf":3.7416573867739413},"80":{"tf":2.8284271247461903},"81":{"tf":2.449489742783178},"86":{"tf":3.7416573867739413},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"9":{"df":3,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"2":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"h":{"1":{"9":{"9":{"df":0,"docs":{},"f":{"1":{"3":{"5":{"9":{"5":{"0":{"1":{"d":{"5":{"c":{"7":{"1":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"2":{"df":0,"docs":{},"e":{"3":{"4":{"3":{"6":{"df":0,"docs":{},"f":{"a":{"3":{"8":{"c":{"d":{"6":{"df":0,"docs":{},"f":{"2":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"4":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"147":{"tf":1.0}}}},"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"138":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":14,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"156":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"a":{"d":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":3,"docs":{"138":{"tf":1.0},"141":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":3,"docs":{"65":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":2.0},"62":{"tf":2.0},"65":{"tf":2.23606797749979},"66":{"tf":3.0},"67":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178}}},"v":{"df":3,"docs":{"101":{"tf":1.0},"165":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"119":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":2,"docs":{"90":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"68":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":4,"docs":{"133":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"131":{"tf":1.4142135623730951},"143":{"tf":1.0},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.8284271247461903},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"124":{"tf":1.0},"14":{"tf":2.0},"166":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"78":{"tf":2.0}}}},"t":{"df":13,"docs":{"142":{"tf":1.0},"163":{"tf":1.4142135623730951},"176":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"65":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"11":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"10":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"m":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"107":{"tf":1.4142135623730951},"137":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":13,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"14":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":2.23606797749979},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":3,"docs":{"111":{"tf":1.0},"116":{"tf":1.7320508075688772},"17":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":2.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0}}}}}}},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":23,"docs":{"111":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":2.0},"93":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.449489742783178},"140":{"tf":1.0},"158":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":14,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":2.449489742783178},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.23606797749979},"63":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.23606797749979},"69":{"tf":2.6457513110645907},"83":{"tf":1.0},"84":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0}},"s":{":":{"1":{"0":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"7":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"9":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"166":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.0},"75":{"tf":1.0}}}}}},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"138":{"tf":2.0}}}},"p":{"c":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"t":{"c":{"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"154":{"tf":1.0}}},"df":6,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951}},"o":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"73":{"tf":1.0},"74":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":50,"docs":{"10":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"176":{"tf":1.0},"20":{"tf":2.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.6457513110645907},"64":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.7416573867739413},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"/":{"d":{"5":{"a":{"8":{"2":{"b":{"b":{"d":{"2":{"6":{"df":0,"docs":{},"e":{"1":{"a":{"d":{"8":{"b":{"7":{"4":{"0":{"1":{"df":0,"docs":{},"f":{"6":{"a":{"7":{"1":{"8":{"a":{"9":{"c":{"5":{"7":{"c":{"9":{"6":{"9":{"0":{"5":{"4":{"8":{"3":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}},"s":{":":{"3":{"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"df":2,"docs":{"18":{"tf":2.0},"56":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":17,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"149":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"6":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"168":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.7320508075688772}}}}}}},"w":{"df":2,"docs":{"44":{"tf":2.8284271247461903},"93":{"tf":1.7320508075688772}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"107":{"tf":1.0},"129":{"tf":1.0}}}}}},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"a":{"d":{"d":{"1":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"78":{"tf":2.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":18,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"172":{"tf":1.4142135623730951},"176":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.0},"140":{"tf":1.0},"56":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"146":{"tf":1.4142135623730951},"154":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0}}}},"w":{"df":3,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"78":{"tf":1.0}}}},"b":{"1":{"0":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"n":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"115":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"148":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"o":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"132":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}}},"d":{"a":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"df":0,"docs":{}},"df":9,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.7320508075688772}},"e":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"51":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"66":{"tf":2.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":13,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"154":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":37,"docs":{"101":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"144":{"tf":1.0},"165":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":2.23606797749979},"71":{"tf":2.0},"74":{"tf":2.8284271247461903},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":2.0},"137":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"170":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":3.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"75":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"m":{"df":1,"docs":{"74":{"tf":1.0}}},"n":{"df":1,"docs":{"140":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"175":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"59":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":3.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"n":{"d":{"df":23,"docs":{"102":{"tf":1.0},"103":{"tf":2.23606797749979},"104":{"tf":1.7320508075688772},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"149":{"tf":1.0},"166":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"90":{"tf":1.7320508075688772},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":9,"docs":{"128":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"38":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"140":{"tf":2.23606797749979},"142":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"1":{"tf":1.0},"124":{"tf":2.0},"128":{"tf":3.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.7320508075688772},"159":{"tf":2.23606797749979},"9":{"tf":1.7320508075688772}}}}},"t":{"df":7,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{")":{"*":{")":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}},"df":28,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":3.4641016151377544},"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":3.4641016151377544},"92":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.7320508075688772},"96":{"tf":3.1622776601683795},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"108":{"tf":2.0},"109":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":3,"docs":{"10":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"158":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"169":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"70":{"tf":1.0},"96":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}}}}}}},"df":24,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"15":{"tf":1.0},"171":{"tf":1.7320508075688772},"65":{"tf":3.1622776601683795},"66":{"tf":3.3166247903554},"67":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":4,"docs":{"111":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"128":{"tf":1.7320508075688772},"137":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"p":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.7320508075688772}}}}},"df":6,"docs":{"170":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":1,"docs":{"71":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":13,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"173":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":9,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":10,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":3,"docs":{"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"173":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"137":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"124":{"tf":1.4142135623730951}}},"df":5,"docs":{"111":{"tf":1.0},"170":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"56":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"159":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"t":{"df":5,"docs":{"140":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":2,"docs":{"14":{"tf":2.0},"39":{"tf":1.0}}}},"x":{"df":2,"docs":{"131":{"tf":2.0},"65":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":14,"docs":{"16":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"20":{"tf":3.4641016151377544},"51":{"tf":1.0},"56":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.23606797749979},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.6457513110645907},"70":{"tf":2.0},"71":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"112":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":2.23606797749979},"126":{"tf":2.23606797749979},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"146":{"tf":2.23606797749979}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"155":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"155":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":1,"docs":{"138":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"144":{"tf":1.4142135623730951},"59":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"110":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.0},"82":{"tf":1.0},"84":{"tf":1.0}}}},"v":{"df":3,"docs":{"13":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}}},"w":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"132":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":18,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"94":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"158":{"tf":1.0},"50":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"147":{"tf":1.0},"159":{"tf":1.0},"86":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"128":{"tf":1.0},"159":{"tf":1.4142135623730951},"4":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"175":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":5.744562646538029},"75":{"tf":2.23606797749979},"76":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":7,"docs":{"124":{"tf":1.0},"14":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"21":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":6,"docs":{"166":{"tf":1.0},"17":{"tf":1.0},"172":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":9,"docs":{"150":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":2.0},"59":{"tf":2.0},"64":{"tf":3.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"90":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.4142135623730951}},"n":{"df":3,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"84":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":2.6457513110645907}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}}}},"c":{"/":{"0":{"5":{"df":6,"docs":{"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":3.1622776601683795}}},"6":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"7":{"df":4,"docs":{"75":{"tf":2.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.0}}},"t":{"'":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"20":{"tf":1.0}},"e":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"175":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"166":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"124":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.7320508075688772},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"t":{"df":33,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"55":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"104":{"tf":1.4142135623730951},"65":{"tf":3.4641016151377544},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"u":{"df":10,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"129":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.7320508075688772},"86":{"tf":1.0},"88":{"tf":1.0}}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}},"c":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"106":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":10,"docs":{"162":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"65":{"tf":1.0},"67":{"tf":1.0}}},"df":17,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"118":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":2.23606797749979},"56":{"tf":1.4142135623730951},"65":{"tf":4.69041575982343},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"i":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":2,"docs":{"172":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.4142135623730951}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}}}},"m":{"3":{"2":{"df":1,"docs":{"56":{"tf":1.0}},"f":{"3":{"0":{"3":{"df":0,"docs":{},"v":{"c":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"t":{"6":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"79":{"tf":1.0}}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"78":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"14":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"147":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.4142135623730951}},"x":{".":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":5,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":3.3166247903554}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.4142135623730951}},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"df":19,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"48":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"108":{"tf":1.0},"151":{"tf":1.0},"94":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"144":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}}},"df":6,"docs":{"106":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":3.605551275463989},"76":{"tf":1.7320508075688772},"78":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"163":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"143":{"tf":1.0},"148":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"138":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"76":{"tf":1.0}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"62":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":7,"docs":{"132":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":15,"docs":{"113":{"tf":2.0},"116":{"tf":1.4142135623730951},"162":{"tf":1.0},"166":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.0},"159":{"tf":1.4142135623730951},"45":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}}}},"s":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"f":{"a":{"c":{"df":2,"docs":{"138":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"145":{"tf":1.7320508075688772}}}}}}}},"v":{"d":{"2":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"d":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"70":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"151":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"70":{"tf":1.0},"99":{"tf":1.0}}}},"y":{"df":1,"docs":{"138":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":8,"docs":{"174":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"149":{"tf":1.0},"68":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"124":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"100":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"113":{"tf":1.0}}}}},"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"145":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.8284271247461903}}}}}}}},"t":{"a":{"b":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.7320508075688772}},"l":{"df":5,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"174":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"92":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"105":{"tf":2.0},"11":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"144":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"28":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":19,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.1622776601683795},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.449489742783178},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.8284271247461903},"67":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":3.1622776601683795},"159":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0}}}}},"c":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"p":{"/":{"3":{"3":{"3":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":3,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951}}}},"df":4,"docs":{"105":{"tf":1.0},"173":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"156":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"94":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"df":1,"docs":{"166":{"tf":2.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"100":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":18,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"96":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"17":{"tf":2.23606797749979},"20":{"tf":3.0},"63":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"6":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"'":{"df":26,"docs":{"105":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"152":{"tf":1.0},"166":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}},"i":{"df":5,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":2,"docs":{"135":{"tf":2.449489742783178},"136":{"tf":3.0}}},"df":0,"docs":{}},"y":{"'":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"149":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"11":{"tf":1.0},"137":{"tf":1.4142135623730951},"14":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"145":{"tf":1.0},"149":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"141":{"tf":1.0},"142":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}}}},"u":{"df":6,"docs":{"133":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.0}}}},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"105":{"tf":2.449489742783178},"142":{"tf":1.0},"154":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"m":{"6":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"r":{"1":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"7":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"83":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":40,"docs":{"10":{"tf":1.7320508075688772},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"154":{"tf":2.0},"159":{"tf":1.0},"172":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"97":{"tf":1.0}},"r":{"df":8,"docs":{"105":{"tf":1.0},"149":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":4.0},"87":{"tf":2.23606797749979},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"p":{"df":2,"docs":{"157":{"tf":1.0},"67":{"tf":1.0}}}},"l":{";":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"x":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772}}}},"o":{",":{"0":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"129":{"tf":2.8284271247461903},"79":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"98":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"105":{"tf":2.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"168":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":15,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"p":{"df":7,"docs":{"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"159":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.0}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"3":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"150":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"132":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"175":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"k":{"df":4,"docs":{"141":{"tf":1.0},"154":{"tf":1.0},"55":{"tf":1.0},"86":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":4,"docs":{"135":{"tf":1.0},"159":{"tf":1.4142135623730951},"56":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"148":{"tf":1.7320508075688772},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}},"t":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":2.0},"59":{"tf":2.0}}}}}}}},"p":{"df":4,"docs":{"107":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":22,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"164":{"tf":2.0},"166":{"tf":1.0},"170":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"99":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"123":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"160":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"v":{"df":1,"docs":{"138":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":27,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"135":{"tf":2.0},"138":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"65":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":19,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"73":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":8,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"e":{"df":1,"docs":{"105":{"tf":1.0}}},"i":{"df":1,"docs":{"129":{"tf":1.0}}},"o":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":17,"docs":{"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"159":{"tf":1.0},"174":{"tf":2.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"78":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"i":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"1":{"6":{",":{"df":0,"docs":{},"u":{"1":{"6":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"[":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"131":{"tf":1.0}}},"5":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"66":{"tf":2.0},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":6,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":4.358898943540674},"76":{"tf":1.0},"77":{"tf":2.449489742783178},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"118":{"tf":1.0}}},":":{"9":{"6":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"121":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"148":{"tf":1.4142135623730951},"44":{"tf":1.0},"67":{"tf":1.0}}}}},"b":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"113":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"f":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"106":{"tf":1.0},"71":{"tf":1.0}}}}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"102":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"65":{"tf":1.0}}}}},"r":{"df":4,"docs":{"132":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"131":{"tf":1.0},"14":{"tf":1.4142135623730951},"3":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}}},"t":{"df":6,"docs":{"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"56":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":9,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"96":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":7,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"145":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"101":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"168":{"tf":1.4142135623730951},"38":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":25,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.7320508075688772},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.7320508075688772},"146":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"18":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"=":{"5":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"9":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"105":{"tf":1.0},"110":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"106":{"tf":2.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.7320508075688772},"123":{"tf":1.0},"148":{"tf":1.0},"53":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"100":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"129":{"tf":1.0},"17":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"102":{"tf":2.0},"111":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":2.449489742783178},"155":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"45":{"tf":2.0},"48":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}}},"df":112,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"11":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.0},"12":{"tf":1.0},"123":{"tf":2.23606797749979},"124":{"tf":2.6457513110645907},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":2.449489742783178},"136":{"tf":2.0},"137":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":1.0},"166":{"tf":2.8284271247461903},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772},"173":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.7320508075688772},"59":{"tf":3.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":2.6457513110645907},"65":{"tf":4.69041575982343},"66":{"tf":4.242640687119285},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":3.1622776601683795},"71":{"tf":2.6457513110645907},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":3.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":2.6457513110645907},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.8284271247461903},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"155":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"/":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"118":{"tf":1.0},"32":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"20":{"tf":1.0}}},"2":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":3,"docs":{"56":{"tf":2.23606797749979},"66":{"tf":1.0},"71":{"tf":1.0}}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"df":2,"docs":{"17":{"tf":1.0},"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"7":{"df":1,"docs":{"48":{"tf":1.0}}},"df":8,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":32,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":2.6457513110645907},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"153":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"74":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":1.7320508075688772},"78":{"tf":5.5677643628300215},"79":{"tf":4.69041575982343},"80":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"107":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"37":{"tf":1.0},"38":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"137":{"tf":1.0}}}}},"c":{"c":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":5,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"56":{"tf":1.0}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":15,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":10,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"105":{"tf":1.0},"17":{"tf":3.0},"19":{"tf":1.0},"20":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.449489742783178},"60":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"i":{"a":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"51":{"tf":1.0},"95":{"tf":1.0}}},"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"140":{"tf":1.0},"65":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"168":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"85":{"tf":1.0}},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":2.449489742783178}}}},"df":1,"docs":{"73":{"tf":1.4142135623730951}},"s":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"r":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"1":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"s":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"7":{"_":{"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"a":{"d":{"d":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"1":{"6":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.7320508075688772},"110":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"14":{"tf":1.0},"168":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":2.449489742783178},"89":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"y":{"df":16,"docs":{"106":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"159":{"tf":1.0},"28":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"df":6,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":42,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":2.449489742783178},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":2,"docs":{"51":{"tf":1.0},"65":{"tf":1.0}}},"v":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.0}}},"i":{"df":1,"docs":{"146":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":14,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"56":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":5,"docs":{"102":{"tf":1.0},"12":{"tf":1.0},"155":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}},"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"104":{"tf":1.0},"135":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":16,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"47":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"90":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":16,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":2.6457513110645907},"105":{"tf":1.0},"111":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":2.0},"123":{"tf":2.23606797749979},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"131":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":16,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"102":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":33,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":2.23606797749979},"149":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"165":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"60":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}},"s":{":":{"1":{"0":{":":{"5":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"0":{"tf":1.0},"149":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":3.605551275463989},"71":{"tf":3.1622776601683795},"93":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"153":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"105":{"tf":1.0},"162":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}}}}}},"x":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":4,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":22,"docs":{"103":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.0},"137":{"tf":3.1622776601683795},"138":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"140":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":3.1622776601683795},"64":{"tf":1.0},"65":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"95":{"tf":1.0}},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":4,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":1,"docs":{"133":{"tf":1.0}},"z":{"df":1,"docs":{"131":{"tf":1.0}}}}},"y":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":13,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":2.0},"136":{"tf":1.4142135623730951},"137":{"tf":3.1622776601683795},"138":{"tf":2.0},"140":{"tf":2.23606797749979},"141":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"140":{"tf":1.0}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":29,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":2.0},"155":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.23606797749979},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":2,"docs":{"143":{"tf":1.0},"67":{"tf":1.0}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"101":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}}}},"z":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":7,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"140":{"tf":2.449489742783178},"141":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"85":{"tf":1.0}}}},"1":{"_":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"69":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"1":{"5":{"5":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"1":{"df":3,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0}}},"2":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":3.1622776601683795}}},"1":{".":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"3":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":3,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{"5":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}},"s":{":":{"4":{"7":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"7":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"142":{"tf":1.0}}},"6":{".":{"1":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}},"s":{":":{"4":{"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"3":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"44":{"tf":1.0}}},"5":{"df":1,"docs":{"44":{"tf":1.0}}},":":{"0":{"0":{"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":3.0}}},"1":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}},"4":{"0":{"3":{":":{"6":{"0":{"0":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{":":{"3":{"7":{"4":{"b":{"df":2,"docs":{"33":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"168":{"tf":1.0},"18":{"tf":1.0}}},"5":{"df":3,"docs":{"118":{"tf":1.0},"14":{"tf":1.0},"67":{"tf":1.0}}},"6":{"df":2,"docs":{"14":{"tf":1.0},"70":{"tf":1.0}}},"7":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"0":{"0":{"0":{"1":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"f":{"6":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"3":{"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"168":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"_":{"1":{"1":{"0":{"0":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"1":{"0":{"0":{"0":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"{":{":":{"0":{"8":{"b":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":2.0},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":3.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":2,"docs":{"62":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"4":{"8":{"3":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"1":{"9":{"4":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"f":{"0":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"4":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.0}}},"8":{"df":1,"docs":{"65":{"tf":1.0}}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"1":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"3":{"0":{"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"a":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"c":{"df":2,"docs":{"66":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"c":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"c":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"5":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"c":{"4":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"7":{"4":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"6":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"0":{"0":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"9":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"b":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"df":3,"docs":{"69":{"tf":4.898979485566356},"78":{"tf":1.0},"79":{"tf":3.3166247903554}}},"1":{"0":{"0":{"3":{"6":{"4":{"2":{"2":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"74":{"tf":1.0}}},"9":{"4":{"df":6,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"76":{"tf":1.4142135623730951}},"f":{"4":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"3":{"a":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"f":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"3":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":2.0},"78":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"7":{"4":{"b":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"4":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"8":{"0":{"0":{"1":{"0":{"0":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"1":{"8":{"df":3,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"0":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"77":{"tf":1.0}}},"8":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"5":{"0":{"0":{"0":{"4":{"0":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"2":{"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"c":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":9,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"4":{"df":8,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"f":{"0":{"df":3,"docs":{"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"a":{"df":1,"docs":{"63":{"tf":1.0}}},"d":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"8":{"1":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"2":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"5":{"a":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"6":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"9":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"a":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"5":{"c":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"c":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"6":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"4":{"8":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"4":{"2":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":2.23606797749979},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"1":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"b":{"5":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"a":{"a":{"a":{"a":{"a":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"{":{":":{"0":{"2":{"df":0,"docs":{},"x":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"4":{"df":0,"docs":{},"x":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{",":{"5":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"3":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"7":{"1":{"8":{"7":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{".":{"2":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{".":{"0":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}},"6":{"4":{"4":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"124":{"tf":1.0},"138":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772}},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"1":{"3":{"2":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"6":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"8":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"df":15,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"77":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"2":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":2.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"7":{"9":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{",":{"2":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":5,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":2.23606797749979},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":9,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":1.4142135623730951}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"7":{"6":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"3":{"4":{"df":2,"docs":{"111":{"tf":1.0},"115":{"tf":1.0}}},"df":2,"docs":{"171":{"tf":2.0},"172":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":10,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"78":{"tf":1.0}},"g":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"3":{"4":{"2":{"1":{"7":{"7":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{".":{"6":{"7":{"5":{"3":{"1":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},":":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"75":{"tf":1.0}}},"4":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"6":{"3":{"3":{"9":{"2":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"0":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"66":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"80":{"tf":1.0}}},"7":{"3":{"3":{"6":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":3.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":3.4641016151377544},"76":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"7":{".":{"9":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.0}}},"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"64":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}},"8":{".":{"0":{"4":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"135":{"tf":1.0}}},"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"7":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"9":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":6,"docs":{"66":{"tf":2.449489742783178},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0}}},"9":{"1":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"132":{"tf":1.0}}},"5":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"132":{"tf":1.0}}},"df":5,"docs":{"107":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":44,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":4.58257569495584},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":3.0},"72":{"tf":2.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":4.47213595499958},"76":{"tf":1.7320508075688772},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"6":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":5,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"66":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},".":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"7":{"df":1,"docs":{"17":{"tf":1.0}}},"8":{"8":{"8":{"1":{"8":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"1":{"5":{"6":{"0":{"8":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"168":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"/":{"0":{"9":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"78":{"tf":1.0}}},"8":{"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"0":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{":":{"0":{"5":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"128":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"1":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"138":{"tf":2.23606797749979}}},"df":5,"docs":{"44":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"2":{".":{"4":{".":{"9":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"4":{"1":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"165":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"86":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"77":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"4":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"3":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"4":{"8":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"5":{"0":{"df":2,"docs":{"131":{"tf":1.0},"137":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"148":{"tf":1.0}},"k":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"9":{"df":1,"docs":{"44":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"93":{"tf":1.0}}},"8":{".":{"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{".":{"8":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"6":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"66":{"tf":2.449489742783178}}},"9":{"0":{"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.3166247903554},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"f":{"3":{"8":{"df":0,"docs":{},"f":{"6":{"b":{".":{".":{"9":{"5":{"8":{"6":{"0":{"a":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"8":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"9":{"0":{"0":{"df":1,"docs":{"105":{"tf":2.0}}},"6":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"2":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"v":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"4":{"9":{"9":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"0":{":":{"1":{"0":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"8":{"8":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}},"2":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"40":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":2.23606797749979}}},"3":{"3":{"3":{"df":7,"docs":{"166":{"tf":1.4142135623730951},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.0}}},"df":0,"docs":{}},"7":{"7":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"0":{"df":1,"docs":{"135":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"4":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"2":{".":{"3":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":14,"docs":{"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"138":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"73":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}}},"4":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.7320508075688772}}},"df":1,"docs":{"124":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"9":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"106":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":5,"docs":{"106":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951}}},"4":{"4":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}},"5":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"56":{"tf":1.0}}},"6":{"6":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}},"7":{"1":{"2":{"3":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"132":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}},"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":16,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"173":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.7320508075688772},"71":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"5":{".":{"1":{".":{"1":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":0,"docs":{},"k":{"b":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"66":{"tf":3.3166247903554}}},"8":{"6":{"1":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"66":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.0}}},"1":{"df":1,"docs":{"74":{"tf":1.0}}},"2":{"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"3":{"6":{"8":{"7":{"0":{"9":{"1":{"2":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.0}}},"5":{"5":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"138":{"tf":1.0}}},"6":{"0":{"df":4,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":2,"docs":{"69":{"tf":1.0},"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"7":{"0":{"df":3,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"71":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":9,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"173":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"84":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":1,"docs":{"173":{"tf":1.0}}},"v":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}},"6":{".":{"4":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"1":{"2":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"9":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{":":{"8":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"5":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"6":{"6":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"1":{"7":{":":{"2":{"9":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":7,"docs":{"131":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"7":{".":{"1":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"3":{"df":1,"docs":{"138":{"tf":1.0}}},"4":{"9":{"7":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"9":{"7":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"67":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"8":{".":{"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"8":{"df":1,"docs":{"85":{"tf":1.0}}},"a":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"9":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"4":{"df":1,"docs":{"85":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"8":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"f":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"1":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"3":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"6":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"6":{"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"7":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"64":{"tf":1.4142135623730951}}},"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"8":{"3":{"2":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"8":{"df":1,"docs":{"129":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"7":{"2":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":20,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"136":{"tf":2.8284271247461903},"65":{"tf":2.23606797749979},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"9":{",":{"6":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"4":{".":{"1":{"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"132":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"5":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.449489742783178},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"107":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":13,"docs":{"113":{"tf":1.4142135623730951},"131":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.7320508075688772}}},"_":{"_":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"107":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"142":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":10,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":3.7416573867739413}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"5":{"1":{"df":0,"docs":{},"e":{"7":{"c":{"3":{"d":{"a":{"a":{"d":{"2":{"a":{"df":0,"docs":{},"f":{"2":{"5":{"1":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"f":{"2":{"b":{"c":{"7":{"9":{"9":{"0":{"b":{"1":{"3":{"7":{"3":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"6":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"1":{"8":{"c":{"0":{"6":{"0":{"0":{"1":{"4":{"a":{"5":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"0":{"2":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":1,"docs":{"56":{"tf":1.0}},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"76":{"tf":1.0}}}},"v":{"df":15,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"56":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"159":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"139":{"tf":1.7320508075688772},"140":{"tf":3.7416573867739413},"141":{"tf":2.449489742783178},"142":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":2.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"148":{"tf":1.4142135623730951},"166":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"145":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"l":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"92":{"tf":1.0}}},"t":{"df":1,"docs":{"51":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"146":{"tf":1.0},"77":{"tf":1.7320508075688772}}}},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"116":{"tf":1.0},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.23606797749979},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.0}}},"d":{"df":11,"docs":{"143":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"37":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":4.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"17":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":29,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":2.449489742783178},"130":{"tf":2.449489742783178},"131":{"tf":3.0},"165":{"tf":1.0},"166":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.7320508075688772},"175":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.7320508075688772},"76":{"tf":3.4641016151377544},"77":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907}}}}}}},"df":3,"docs":{"143":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"65":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"l":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"104":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"119":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":2.0},"164":{"tf":2.0},"168":{"tf":1.0},"176":{"tf":1.0},"35":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"90":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}}}},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}},"k":{"a":{"df":3,"docs":{"14":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"118":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}},"g":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":22,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.7320508075688772},"18":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"45":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"135":{"tf":1.0},"144":{"tf":1.0},"149":{"tf":1.0},"77":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":12,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":2.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"135":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"150":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.4142135623730951},"172":{"tf":1.0},"65":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"106":{"tf":1.7320508075688772},"119":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"90":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"b":{"1":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"86":{"tf":2.6457513110645907},"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":2,"docs":{"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":2.449489742783178}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"141":{"tf":2.0},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"103":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"12":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"155":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"55":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"138":{"tf":1.0},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"28":{"tf":1.0}}}}},"x":{"df":1,"docs":{"118":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"84":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"15":{"tf":1.0},"56":{"tf":1.7320508075688772},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":2,"docs":{"65":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":5,"docs":{"106":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"m":{"'":{"df":2,"docs":{"28":{"tf":1.0},"52":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":24,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"37":{"tf":2.23606797749979},"41":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.6457513110645907},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"56":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"86":{"tf":1.4142135623730951},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}},"m":{"df":3,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"65":{"tf":2.6457513110645907},"66":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"116":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"132":{"tf":1.0},"44":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"153":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"148":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"t":{"+":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"1":{"1":{"5":{"2":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"121":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"135":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"169":{"tf":1.0},"51":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"3":{"7":{"4":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"4":{"0":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"8":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"1":{"1":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}},"4":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}}}},"{":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"1":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"72":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"8":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"159":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"105":{"tf":1.0},"157":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"159":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"140":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"x":{"df":3,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0}},"i":{"df":7,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"b":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":4.58257569495584},"75":{"tf":1.0},"76":{"tf":1.0}}}},"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"102":{"tf":1.7320508075688772},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"148":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"158":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"143":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":11,"docs":{"0":{"tf":1.0},"113":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0},"59":{"tf":1.0},"74":{"tf":2.0},"78":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}},"u":{"d":{"df":8,"docs":{"105":{"tf":1.0},"118":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":9,"docs":{"14":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"170":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"85":{"tf":1.0},"88":{"tf":1.0}}}}},"df":7,"docs":{"118":{"tf":1.0},"145":{"tf":1.7320508075688772},"158":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.0},"129":{"tf":1.0},"141":{"tf":1.0},"170":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"80":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"172":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0}},"n":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"52":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"df":18,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"18":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"131":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"69":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"151":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.7320508075688772}}}}},"d":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"166":{"tf":1.7320508075688772}}},"df":6,"docs":{"28":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"20":{"tf":2.0}}}}}}},"t":{"df":27,"docs":{"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":2.449489742783178},"78":{"tf":2.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.8284271247461903},"94":{"tf":2.0},"96":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"129":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":4.358898943540674},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":11,"docs":{"111":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":12,"docs":{"113":{"tf":2.0},"166":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"78":{"tf":2.6457513110645907},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}},"g":{"df":1,"docs":{"159":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":2.0},"123":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"115":{"tf":1.0}}}}},"df":19,"docs":{"111":{"tf":3.3166247903554},"112":{"tf":1.7320508075688772},"113":{"tf":2.8284271247461903},"114":{"tf":1.0},"115":{"tf":2.0},"116":{"tf":1.7320508075688772},"117":{"tf":2.0},"118":{"tf":2.8284271247461903},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.23606797749979},"124":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"17":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772}}}}}}},"z":{"df":5,"docs":{"113":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":35,"docs":{"10":{"tf":1.0},"101":{"tf":2.23606797749979},"102":{"tf":1.4142135623730951},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":2.449489742783178},"139":{"tf":1.0},"14":{"tf":3.3166247903554},"140":{"tf":2.6457513110645907},"141":{"tf":1.7320508075688772},"157":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":14,"docs":{"0":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":2.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"3":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":4,"docs":{"105":{"tf":1.0},"123":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}},"r":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"tf":2.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":9,"docs":{"110":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":3.1622776601683795},"65":{"tf":2.23606797749979},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"171":{"tf":3.605551275463989},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":3.4641016151377544},"66":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":2.23606797749979},"71":{"tf":3.7416573867739413},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":2.23606797749979},"130":{"tf":2.23606797749979},"131":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":4,"docs":{"74":{"tf":2.449489742783178},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951}}}},"s":{"df":1,"docs":{"69":{"tf":2.0}}}},"t":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"u":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":2.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"110":{"tf":2.0},"131":{"tf":2.449489742783178},"148":{"tf":1.0}}}}}},"g":{"df":3,"docs":{"159":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"1":{"tf":1.0},"104":{"tf":1.0},"139":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":3.0},"63":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"139":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"118":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"155":{"tf":1.0}}},"i":{"df":3,"docs":{"107":{"tf":1.0},"52":{"tf":1.0},"88":{"tf":2.23606797749979}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"118":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"14":{"tf":1.0}}}},"x":{"df":1,"docs":{"76":{"tf":1.0}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":18,"docs":{"103":{"tf":2.23606797749979},"105":{"tf":3.0},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":3.0},"148":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"56":{"tf":2.23606797749979},"65":{"tf":1.0},"69":{"tf":1.0},"90":{"tf":1.0}},"s":{"/":{"df":1,"docs":{"105":{"tf":1.0}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}},":":{"1":{"0":{"7":{"2":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"6":{"8":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},":":{"\\":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"\\":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.4142135623730951}},"s":{"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"47":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"38":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"102":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"14":{"tf":2.23606797749979},"164":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"138":{"tf":2.6457513110645907}}}},"df":0,"docs":{}},"l":{"df":15,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"106":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"168":{"tf":2.23606797749979},"55":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"147":{"tf":2.23606797749979},"159":{"tf":1.0},"60":{"tf":1.0}}}},"c":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"133":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"129":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"55":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"102":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":3.4641016151377544},"67":{"tf":2.0}}}}}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"62":{"tf":1.0},"66":{"tf":3.1622776601683795},"71":{"tf":3.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":23,"docs":{"12":{"tf":1.0},"159":{"tf":1.0},"167":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":3.3166247903554},"55":{"tf":2.0},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":4,"docs":{"63":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"103":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"60":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"20":{"tf":1.4142135623730951},"28":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"df":16,"docs":{"12":{"tf":2.0},"13":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":1.0},"71":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"!":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}},"h":{"3":{"4":{"0":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"141":{"tf":1.7320508075688772},"67":{"tf":2.449489742783178},"68":{"tf":1.0},"84":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"45":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"80":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":2,"docs":{"103":{"tf":1.0},"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"k":{"df":20,"docs":{"113":{"tf":1.0},"119":{"tf":1.4142135623730951},"140":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.0},"18":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"115":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":5,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.6457513110645907},"59":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"138":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"3":{"tf":1.0},"51":{"tf":1.0}}}},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"171":{"tf":1.7320508075688772},"65":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"124":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"158":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"85":{"tf":1.7320508075688772},"86":{"tf":2.6457513110645907},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"h":{"7":{"1":{"1":{"c":{"df":0,"docs":{},"e":{"9":{"b":{"d":{"6":{"8":{"a":{"6":{"3":{"2":{"8":{"df":0,"docs":{},"f":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"165":{"tf":1.0},"48":{"tf":1.0}}}}}},"df":13,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"76":{"tf":1.0}},"r":{"df":2,"docs":{"105":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"78":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":33,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"m":{"3":{"df":1,"docs":{"96":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"96":{"tf":2.8284271247461903}},"e":{"df":6,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":37,"docs":{"104":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":5.385164807134504},"66":{"tf":3.4641016151377544},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.449489742783178},"96":{"tf":1.4142135623730951}},"s":{":":{"3":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"r":{"c":{"df":1,"docs":{"14":{"tf":2.0}},"i":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"159":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"155":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.4641016151377544},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"132":{"tf":2.449489742783178},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"168":{"tf":2.0},"20":{"tf":1.0},"56":{"tf":7.54983443527075},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"105":{"tf":1.0},"14":{"tf":1.0},"148":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":29,"docs":{"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"135":{"tf":1.0},"17":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"8":{"tf":1.0},"90":{"tf":2.8284271247461903},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"113":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":1,"docs":{"67":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"118":{"tf":2.0},"128":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"55":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":3.0},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.23606797749979},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"118":{"tf":1.0},"166":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"111":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":3.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"129":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":2.23606797749979},"163":{"tf":1.7320508075688772},"164":{"tf":2.0},"166":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":2.0},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"153":{"tf":1.0}}}}},"df":12,"docs":{"129":{"tf":1.7320508075688772},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"85":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"m":{"df":1,"docs":{"10":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"34":{"tf":1.4142135623730951},"67":{"tf":1.0},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":3,"docs":{"131":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":16,"docs":{"104":{"tf":1.0},"107":{"tf":1.7320508075688772},"138":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":2.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"65":{"tf":2.8284271247461903},"66":{"tf":5.5677643628300215},"67":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":23,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":2.23606797749979},"158":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"35":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"1":{"tf":1.0},"137":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"12":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"145":{"tf":1.7320508075688772}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}},"y":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"<":{"(":{")":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{"+":{"1":{"4":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":2.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"168":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"42":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"137":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"56":{"tf":3.605551275463989},"59":{"tf":1.0},"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"149":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"0":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"3":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"174":{"tf":1.4142135623730951}},"u":{"df":5,"docs":{"11":{"tf":1.0},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"1":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"14":{"tf":1.4142135623730951},"159":{"tf":1.0},"168":{"tf":2.23606797749979},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"166":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"56":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"44":{"tf":2.0},"93":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"138":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"95":{"tf":2.449489742783178}}},"c":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.0}}},"df":0,"docs":{}},"df":3,"docs":{"48":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"145":{"tf":1.4142135623730951},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"51":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"77":{"tf":1.7320508075688772}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"150":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"d":{"a":{"c":{"df":1,"docs":{"153":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"df":34,"docs":{"100":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"105":{"tf":2.23606797749979},"107":{"tf":2.6457513110645907},"124":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"77":{"tf":1.0},"90":{"tf":3.4641016151377544},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"154":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"1":{"7":{"df":0,"docs":{},"f":{".":{".":{"0":{"2":{"a":{"c":{"9":{"5":{"2":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"117":{"tf":1.0},"173":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"159":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":10,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"24":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}},"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":26,"docs":{"1":{"tf":1.0},"105":{"tf":2.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":3.4641016151377544},"66":{"tf":2.23606797749979},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}},"g":{"df":8,"docs":{"104":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}}}}}}},"df":1,"docs":{"90":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"166":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"86":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{"(":{"1":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":3,"docs":{"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"v":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":19,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":4.123105625617661},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":3.3166247903554},"85":{"tf":2.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":2.8284271247461903}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"=":{"'":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"65":{"tf":2.23606797749979},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":22,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"1":{"1":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":6,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"61":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.0}}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":2.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"128":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"124":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"51":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"3":{"/":{"0":{"0":{"4":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"116":{"tf":1.0},"117":{"tf":1.0}}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":2,"docs":{"116":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":11,"docs":{"116":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":42,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"147":{"tf":1.0},"15":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"c":{"df":34,"docs":{"11":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":2.449489742783178},"125":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":2.449489742783178},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"90":{"tf":1.7320508075688772},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"96":{"tf":2.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"166":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"151":{"tf":2.23606797749979},"152":{"tf":2.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"73":{"tf":2.23606797749979},"79":{"tf":1.0},"81":{"tf":2.23606797749979}}}}},"m":{"df":1,"docs":{"150":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.0},"148":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"139":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"171":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"173":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"128":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"93":{"tf":1.4142135623730951},"96":{"tf":2.449489742783178}}},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"0":{"5":{"df":5,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":2.449489742783178}}},"6":{"df":2,"docs":{"70":{"tf":2.23606797749979},"71":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"144":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"118":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"77":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.7320508075688772}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}},"m":{"a":{"df":2,"docs":{"148":{"tf":2.0},"56":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"f":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}}},"o":{"c":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"166":{"tf":1.0},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":2.0},"52":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}}}},"df":8,"docs":{"149":{"tf":1.0},"2":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{".":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":24,"docs":{"101":{"tf":1.0},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":9,"docs":{"124":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"n":{"df":1,"docs":{"86":{"tf":1.0}}},"r":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"162":{"tf":1.0},"40":{"tf":2.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"14":{"tf":1.0},"168":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":4,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"141":{"tf":1.0},"70":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"163":{"tf":1.0},"28":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":16,"docs":{"165":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":2.0},"41":{"tf":1.0},"56":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}}}},"l":{"df":9,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"69":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":24,"docs":{"105":{"tf":1.0},"109":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"133":{"tf":1.0},"166":{"tf":1.4142135623730951},"173":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"80":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":5,"docs":{"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"df":7,"docs":{"133":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":7,"docs":{"108":{"tf":2.23606797749979},"117":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":5,"docs":{"106":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"f":{".":{"df":0,"docs":{},"p":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":2.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"147":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"132":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"150":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.7320508075688772},"73":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"9":{"tf":1.0}}}}}}},"f":{"3":{"2":{"df":2,"docs":{"56":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":22,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.7320508075688772},"147":{"tf":1.0},"156":{"tf":1.7320508075688772},"159":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":2.23606797749979},"56":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903},"68":{"tf":1.0},"70":{"tf":2.8284271247461903},"71":{"tf":2.6457513110645907},"9":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":1,"docs":{"133":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.4142135623730951},"171":{"tf":2.0},"51":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"71":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":12,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"109":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"162":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"88":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"171":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.3166247903554},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"133":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":35,"docs":{"128":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"140":{"tf":1.0}}},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"56":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"r":{"(":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":13,"docs":{"109":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"159":{"tf":1.0},"162":{"tf":2.0},"163":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"166":{"tf":2.0},"168":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"s":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"118":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"c":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"d":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"34":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"1":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"133":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"s":{":":{"3":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"7":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":1,"docs":{"1":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"171":{"tf":1.4142135623730951},"54":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"153":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"118":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.7320508075688772},"76":{"tf":4.0},"78":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"100":{"tf":1.0},"124":{"tf":1.7320508075688772},"53":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":5,"docs":{"37":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907}},"e":{"c":{"df":1,"docs":{"56":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":24,"docs":{"10":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"145":{"tf":2.8284271247461903},"146":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.8284271247461903},"176":{"tf":1.4142135623730951},"33":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":3.7416573867739413},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"106":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"152":{"tf":1.0},"3":{"tf":1.0},"76":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":5,"docs":{"107":{"tf":1.0},"138":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"153":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":18,"docs":{"143":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":8,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"102":{"tf":2.0},"132":{"tf":1.0},"14":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":6,"docs":{"129":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"69":{"tf":1.0}}}},"f":{"/":{"df":0,"docs":{},"f":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":2.0}}},"m":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951}}}},"3":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"2":{")":{".":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{")":{".":{"a":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"z":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":2.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772}}},"df":18,"docs":{"102":{"tf":2.23606797749979},"111":{"tf":2.0},"118":{"tf":2.0},"123":{"tf":2.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"159":{"tf":1.0},"33":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"155":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"101":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":2.449489742783178},"164":{"tf":2.449489742783178},"168":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"94":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"s":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":4,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}}}}},"n":{"df":1,"docs":{"9":{"tf":1.0}}},"q":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"148":{"tf":1.0},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"153":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"105":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"65":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":14,"docs":{"138":{"tf":1.7320508075688772},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.7320508075688772},"173":{"tf":2.0},"45":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":2.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"63":{"tf":2.0},"70":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"157":{"tf":1.0},"166":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"b":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}},"w":{"df":9,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":11,"docs":{"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.23606797749979},"138":{"tf":1.7320508075688772},"159":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"44":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"87":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":24,"docs":{"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"16":{"tf":1.0},"165":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"70":{"tf":2.8284271247461903},"71":{"tf":2.23606797749979},"78":{"tf":2.0},"85":{"tf":1.0},"93":{"tf":1.7320508075688772},"94":{"tf":2.0}}},"l":{"df":2,"docs":{"107":{"tf":1.0},"131":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"102":{"tf":1.0},"104":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"d":{"df":15,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":2.23606797749979},"44":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":13,"docs":{"107":{"tf":1.0},"149":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"37":{"tf":1.0},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.7320508075688772},"175":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}}}},"x":{"df":8,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"m":{"df":1,"docs":{"135":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":16,"docs":{"1":{"tf":1.0},"165":{"tf":1.7320508075688772},"169":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":2.6457513110645907},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":5,"docs":{"51":{"tf":1.4142135623730951},"65":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"n":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":29,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}}},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"k":{"df":1,"docs":{"68":{"tf":2.23606797749979}}},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}},"df":5,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"158":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"1":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}},"x":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"175":{"tf":4.0},"55":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":2.0},"90":{"tf":2.0},"94":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"107":{"tf":1.0},"140":{"tf":1.7320508075688772},"159":{"tf":1.0},"166":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"154":{"tf":1.0},"2":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"t":{"2":{"3":{"2":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"93":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"110":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":2,"docs":{"14":{"tf":1.0},"150":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":27,"docs":{"1":{"tf":1.0},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"14":{"tf":1.0},"159":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.605551275463989},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"81":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"77":{"tf":1.0},"79":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"159":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"159":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"142":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":2.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"137":{"tf":2.6457513110645907}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"79":{"tf":1.0}}}}},"c":{"c":{"df":2,"docs":{"37":{"tf":2.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":40,"docs":{"107":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"166":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"41":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":2.6457513110645907},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.605551275463989},"64":{"tf":2.0},"65":{"tf":7.745966692414834},"66":{"tf":8.366600265340756},"67":{"tf":4.123105625617661},"69":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":3.4641016151377544},"74":{"tf":2.23606797749979},"75":{"tf":3.4641016151377544},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":27,"docs":{"10":{"tf":1.7320508075688772},"125":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"48":{"tf":1.0},"56":{"tf":2.0},"65":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":1.0}}},"t":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0}},"n":{"df":3,"docs":{"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"d":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":1,"docs":{"137":{"tf":1.4142135623730951}},"u":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"7":{"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"0":{"4":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"3":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"20":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"106":{"tf":1.0},"3":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":25,"docs":{"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":6,"docs":{"141":{"tf":1.0},"142":{"tf":1.0},"51":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}},"o":{"d":{"df":8,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":4,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"81":{"tf":1.0}},"e":{".":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"78":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"80":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"74":{"tf":2.0},"78":{"tf":3.3166247903554},"79":{"tf":2.449489742783178},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951}}},"x":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"a":{"b":{"df":4,"docs":{"13":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"78":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"112":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":2.8284271247461903}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"133":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":4,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"140":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"74":{"tf":1.0}}}}},"i":{"df":1,"docs":{"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":5,"docs":{"124":{"tf":1.0},"157":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178}},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":5.291502622129181}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"66":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"64":{"tf":1.0},"76":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":2.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"140":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"d":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"67":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"df":24,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"145":{"tf":1.0},"156":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"67":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"c":{"df":2,"docs":{"118":{"tf":1.0},"14":{"tf":1.4142135623730951}},"i":{"0":{"df":1,"docs":{"113":{"tf":2.23606797749979}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"113":{"tf":2.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"16":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"56":{"tf":3.3166247903554},"70":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"z":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"20":{"tf":1.0},"70":{"tf":4.0},"71":{"tf":3.4641016151377544},"93":{"tf":1.0}}}},"p":{"df":10,"docs":{"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.7320508075688772},"159":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":11,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0}}},"df":18,"docs":{"12":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"51":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}}},"t":{"df":7,"docs":{"10":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}},"l":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"118":{"tf":1.0},"133":{"tf":1.0},"163":{"tf":1.0},"52":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"a":{"d":{"a":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"v":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"df":4,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}}}},"o":{"d":{"df":2,"docs":{"132":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"52":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"154":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"a":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"m":{"df":5,"docs":{"103":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}}},"v":{"df":4,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}}},".":{"df":3,"docs":{"141":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"1":{"6":{"df":1,"docs":{"131":{"tf":1.7320508075688772}},"x":{"3":{"df":9,"docs":{"132":{"tf":2.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"2":{"c":{"1":{".":{"c":{"df":0,"docs":{},"r":{"2":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":14,"docs":{"1":{"tf":1.0},"124":{"tf":2.23606797749979},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.23606797749979},"129":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0}}},"df":1,"docs":{"155":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"65":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"a":{"df":4,"docs":{"146":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":2.0}}}}}},"i":{"df":1,"docs":{"134":{"tf":1.0}},"i":{"df":1,"docs":{"134":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"71":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":1.0}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":2.6457513110645907},"108":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"159":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"138":{"tf":2.6457513110645907},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"135":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"133":{"tf":1.4142135623730951},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":11,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"163":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"o":{"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":2.0},"48":{"tf":3.0},"59":{"tf":3.0},"62":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":2.8284271247461903},"66":{"tf":1.4142135623730951},"71":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":18,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"176":{"tf":1.0},"28":{"tf":1.0},"66":{"tf":1.0}},"i":{"df":14,"docs":{"103":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":2.449489742783178},"83":{"tf":1.0},"87":{"tf":2.23606797749979},"88":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":4,"docs":{"1":{"tf":1.0},"151":{"tf":2.0},"81":{"tf":1.0},"84":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":14,"docs":{"104":{"tf":1.0},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"155":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":26,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"42":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"n":{"c":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"105":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":22,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.7320508075688772},"149":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"78":{"tf":1.7320508075688772},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":23,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"14":{"tf":1.0},"146":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"56":{"tf":1.0},"6":{"tf":1.0}},"r":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0}}}},"l":{"df":1,"docs":{"52":{"tf":1.0}}},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"149":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"124":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"162":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"65":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"44":{"tf":1.0},"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"1":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"10":{"tf":1.0},"141":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"t":{"df":7,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"76":{"tf":2.449489742783178},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":9,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"15":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":21,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":25,"docs":{"103":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}}}}}},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":2.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"a":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"129":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"165":{"tf":1.0},"4":{"tf":1.0},"65":{"tf":2.0},"70":{"tf":1.4142135623730951}}}}},"t":{"'":{"df":29,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":1.4142135623730951},"146":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"143":{"tf":1.0},"156":{"tf":1.0}}}},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"[":{"0":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"138":{"tf":1.0},"165":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"131":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"df":13,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"138":{"tf":1.7320508075688772},"140":{"tf":1.0},"165":{"tf":2.449489742783178},"17":{"tf":1.0},"19":{"tf":2.0},"70":{"tf":3.0},"71":{"tf":1.7320508075688772}}}}}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.449489742783178},"77":{"tf":3.0},"78":{"tf":1.0},"90":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"134":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"172":{"tf":1.7320508075688772},"55":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"k":{"b":{"/":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.4142135623730951},"150":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"78":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"94":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"71":{"tf":1.0},"94":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":9,"docs":{"124":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"59":{"tf":2.449489742783178},"64":{"tf":3.872983346207417},"65":{"tf":2.23606797749979},"71":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}},"n":{"d":{"a":{"df":1,"docs":{"118":{"tf":1.0}}},"df":5,"docs":{"148":{"tf":1.0},"149":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":9,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"145":{"tf":1.0},"159":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"3":{"df":0,"docs":{},"g":{"d":{"2":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.0},"67":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"#":{"2":{"8":{"7":{"2":{"8":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":4,"docs":{"105":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"94":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"129":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"57":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"55":{"tf":1.0},"65":{"tf":3.0},"78":{"tf":1.4142135623730951}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"d":{"3":{"df":2,"docs":{"132":{"tf":1.0},"74":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":3,"docs":{"66":{"tf":2.449489742783178},"75":{"tf":2.0},"76":{"tf":2.0}}}},"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"154":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"131":{"tf":1.0},"168":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}},"v":{"df":7,"docs":{"148":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}},"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"1":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":50,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":2.8284271247461903},"133":{"tf":3.4641016151377544},"134":{"tf":1.7320508075688772},"135":{"tf":2.6457513110645907},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"138":{"tf":1.0},"150":{"tf":2.0},"151":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":2.8284271247461903},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178},"64":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":6.082762530298219},"67":{"tf":3.605551275463989},"68":{"tf":1.0},"69":{"tf":2.6457513110645907},"70":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":2.8284271247461903},"74":{"tf":3.1622776601683795},"75":{"tf":3.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":2.8284271247461903},"80":{"tf":1.4142135623730951},"81":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":2.23606797749979},"84":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"[":{"0":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":21,"docs":{"106":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"105":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"137":{"tf":1.0},"159":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"'":{"df":38,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"77":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"38":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":2.23606797749979}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"5":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"73":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":21,"docs":{"100":{"tf":2.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"124":{"tf":2.23606797749979},"171":{"tf":1.7320508075688772},"172":{"tf":2.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":3.1622776601683795},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":2.449489742783178},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"k":{"/":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"45":{"tf":1.0}}},"2":{".":{"1":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":12,"docs":{"16":{"tf":1.0},"162":{"tf":1.7320508075688772},"33":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"df":31,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":1.0},"113":{"tf":1.7320508075688772},"166":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"62":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":3,"docs":{"20":{"tf":2.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":6,"docs":{"63":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"a":{"d":{"df":10,"docs":{"150":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":3.4641016151377544},"67":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":2.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":2.6457513110645907},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":8,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.7320508075688772},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"46":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"138":{"tf":1.0},"2":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"133":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":21,"docs":{"100":{"tf":1.0},"106":{"tf":2.23606797749979},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":2.0},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":39,"docs":{"1":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":3.1622776601683795},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"s":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"105":{"tf":1.0},"164":{"tf":1.7320508075688772}}}},"t":{"df":5,"docs":{"143":{"tf":1.0},"152":{"tf":1.0},"6":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.0}}}},"w":{"df":10,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.4142135623730951},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"s":{"b":{"df":1,"docs":{"137":{"tf":2.449489742783178}}},"df":2,"docs":{"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"g":{"1":{"2":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":14,"docs":{"128":{"tf":2.8284271247461903},"129":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"166":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"b":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"t":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":2,"docs":{"69":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"51":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":3,"docs":{"51":{"tf":1.0},"52":{"tf":2.0},"56":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"166":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"o":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":7,"docs":{"106":{"tf":2.0},"138":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.0},"71":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"158":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"137":{"tf":1.4142135623730951}},"i":{"c":{"df":6,"docs":{"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"159":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":2.23606797749979},"130":{"tf":2.0},"131":{"tf":2.6457513110645907},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"10":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":3.3166247903554},"138":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"171":{"tf":1.7320508075688772},"70":{"tf":1.0}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{"1":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":45,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"65":{"tf":3.872983346207417},"66":{"tf":3.0},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":35,"docs":{"10":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"102":{"tf":1.0},"14":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"12":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"158":{"tf":1.0},"170":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"84":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"78":{"tf":2.23606797749979}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.449489742783178},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"128":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"159":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"124":{"tf":2.449489742783178},"126":{"tf":2.0},"127":{"tf":1.7320508075688772},"129":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"174":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"h":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":2.449489742783178}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"141":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"51":{"tf":1.0}}},"df":2,"docs":{"50":{"tf":1.7320508075688772},"51":{"tf":2.23606797749979}}}},"df":18,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":2.0},"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"n":{"df":11,"docs":{"105":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.4142135623730951},"159":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"142":{"tf":1.7320508075688772},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"128":{"tf":2.0},"148":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}},"u":{"df":1,"docs":{"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"108":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"109":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"95":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"df":2,"docs":{"10":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"157":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"106":{"tf":2.23606797749979},"135":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"137":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":5,"docs":{"105":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":51,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":2.449489742783178},"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":2.0},"111":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"65":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":2.0},"80":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772},"90":{"tf":2.6457513110645907},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}}},"y":{"'":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":10,"docs":{"117":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":2.8284271247461903},"95":{"tf":2.0}}}}},"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":1,"docs":{"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}},"s":{")":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"s":{"df":2,"docs":{"138":{"tf":1.0},"162":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{":":{"=":{"\"":{"0":{"6":{"6":{"6":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"118":{"tf":2.23606797749979},"124":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"69":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.7320508075688772}},"l":{"df":6,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0}}},"r":{"df":3,"docs":{"78":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"78":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"131":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":25,"docs":{"1":{"tf":1.0},"102":{"tf":3.1622776601683795},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":2.449489742783178},"118":{"tf":2.6457513110645907},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.8284271247461903},"150":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":2.0},"90":{"tf":1.7320508075688772},"93":{"tf":2.0},"94":{"tf":1.4142135623730951},"96":{"tf":2.23606797749979},"98":{"tf":2.0}},"e":{"'":{"df":3,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"165":{"tf":1.4142135623730951},"176":{"tf":2.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}}}},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"(":{")":{".":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"154":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":37,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"124":{"tf":1.0},"159":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"158":{"tf":2.6457513110645907}}}}},"v":{".":{"df":0,"docs":{},"w":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":2.0}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":9,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":2.0},"158":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}},"w":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}}}},"s":{"=":{"5":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.449489742783178}},"p":{"4":{"3":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"113":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":2.23606797749979},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"24":{"tf":1.4142135623730951},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"77":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"145":{"tf":3.1622776601683795},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":28,"docs":{"105":{"tf":2.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"65":{"tf":1.7320508075688772},"66":{"tf":3.605551275463989},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":4.123105625617661},"77":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"90":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"133":{"tf":1.0},"165":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"75":{"tf":1.0}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":8,"docs":{"106":{"tf":1.4142135623730951},"171":{"tf":2.6457513110645907},"172":{"tf":2.0},"173":{"tf":1.0},"175":{"tf":3.1622776601683795},"65":{"tf":2.0},"71":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":36,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":3.0},"143":{"tf":1.0},"146":{"tf":1.0},"17":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"140":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"w":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"92":{"tf":1.0},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"101":{"tf":1.7320508075688772},"128":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"24":{"tf":2.0},"26":{"tf":1.4142135623730951},"53":{"tf":1.0},"92":{"tf":2.0},"96":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.7320508075688772}}}}}},"x":{"df":0,"docs":{},"t":{"df":31,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":2.6457513110645907},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"139":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}}},"x":{"df":10,"docs":{"46":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"3":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":24,"docs":{"142":{"tf":1.7320508075688772},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":2.0},"41":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":3.3166247903554},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.4641016151377544},"65":{"tf":1.4142135623730951},"66":{"tf":3.0},"67":{"tf":3.3166247903554},"69":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"75":{"tf":1.0},"96":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}}}},"p":{"df":1,"docs":{"85":{"tf":2.0}},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"165":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"132":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"e":{"df":35,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"h":{"df":7,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"146":{"tf":1.0},"57":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"55":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":38,"docs":{"102":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"163":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.1622776601683795},"67":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":2.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}}},"p":{"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":15,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"152":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.0},"56":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"71":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"150":{"tf":1.0},"72":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"75":{"tf":2.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":7,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"55":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"149":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"162":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":4,"docs":{"77":{"tf":3.4641016151377544},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}},"df":6,"docs":{"139":{"tf":2.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"166":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"k":{"df":10,"docs":{"106":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.4142135623730951},"14":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"175":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"118":{"tf":1.0},"151":{"tf":1.0},"74":{"tf":1.0}}}}}},"c":{"df":9,"docs":{"124":{"tf":1.0},"170":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"df":45,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"111":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":2.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.0},"146":{"tf":1.0},"158":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"18":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":3.3166247903554},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":2.23606797749979},"96":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"148":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"102":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"143":{"tf":1.4142135623730951},"162":{"tf":2.0},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}},"o":{"c":{"d":{"'":{"df":3,"docs":{"166":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"g":{"d":{"b":{"df":6,"docs":{"63":{"tf":3.0},"64":{"tf":1.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":2.0}}}}}},"df":33,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":2.0},"163":{"tf":2.23606797749979},"164":{"tf":2.449489742783178},"165":{"tf":1.7320508075688772},"166":{"tf":2.6457513110645907},"169":{"tf":1.0},"17":{"tf":1.0},"176":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"38":{"tf":2.449489742783178},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.3166247903554},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"20":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"14":{"tf":2.0},"159":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"159":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":11,"docs":{"10":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"145":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"65":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":23,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.449489742783178},"3":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":33,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.23606797749979},"111":{"tf":1.0},"123":{"tf":1.7320508075688772},"13":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.0},"176":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":2.0}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}}}}}},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"p":{"/":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"79":{"tf":1.0}}}},"a":{"1":{"0":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":11,"docs":{"12":{"tf":1.7320508075688772},"124":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.4142135623730951},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"63":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}},"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":2.0},"61":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":12,"docs":{"102":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":2.0},"117":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}}}}}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"56":{"tf":1.0},"71":{"tf":2.6457513110645907}},"k":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"47":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}}}},"s":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"t":{"df":17,"docs":{"106":{"tf":1.0},"128":{"tf":1.7320508075688772},"14":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"67":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"56":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"t":{"df":2,"docs":{"56":{"tf":1.0},"65":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"102":{"tf":1.0},"28":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":2.0},"39":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}},"y":{"df":1,"docs":{"65":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"70":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"6":{"df":1,"docs":{"129":{"tf":1.0}}},"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"c":{"4":{"df":3,"docs":{"101":{"tf":1.7320508075688772},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"101":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"b":{"df":1,"docs":{"10":{"tf":1.0}}},"df":10,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":2.0}},"e":{"1":{"1":{"df":1,"docs":{"74":{"tf":2.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"74":{"tf":2.23606797749979}}},"df":0,"docs":{},"r":{"df":5,"docs":{"105":{"tf":1.0},"140":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"52":{"tf":1.4142135623730951},"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"150":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":20,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":2.23606797749979},"152":{"tf":1.0},"154":{"tf":1.4142135623730951},"72":{"tf":1.7320508075688772},"74":{"tf":2.23606797749979},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":2.8284271247461903},"81":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"44":{"tf":2.449489742783178},"78":{"tf":2.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"140":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"135":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"90":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"d":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":3,"docs":{"166":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":3,"docs":{"10":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":2.8284271247461903}},"e":{"c":{"df":2,"docs":{"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":21,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":4.242640687119285},"111":{"tf":2.23606797749979},"115":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":2.8284271247461903},"123":{"tf":2.8284271247461903},"129":{"tf":1.0},"151":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"53":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":4.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":2.23606797749979},"82":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":10,"docs":{"158":{"tf":1.0},"171":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"139":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"140":{"tf":1.0},"143":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"155":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":2.23606797749979}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"c":{"a":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"g":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"x":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":2,"docs":{"67":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"44":{"tf":1.0},"96":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":2.6457513110645907},"16":{"tf":1.0},"173":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.0},"65":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"146":{"tf":1.0},"148":{"tf":1.0},"163":{"tf":2.449489742783178},"164":{"tf":2.449489742783178}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"p":{"df":3,"docs":{"85":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":18,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"166":{"tf":2.6457513110645907},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"74":{"tf":3.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.0},"96":{"tf":2.6457513110645907},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"133":{"tf":1.7320508075688772},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"146":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"8":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"139":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.0},"153":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":3.3166247903554},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}},"r":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"129":{"tf":1.0},"2":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"135":{"tf":1.0},"158":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}},"df":3,"docs":{"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"145":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"145":{"tf":1.4142135623730951},"159":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":12,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":8,"docs":{"109":{"tf":1.0},"118":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"67":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":22,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"2":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}}}}},"g":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"52":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"158":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"x":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":20,"docs":{"10":{"tf":1.0},"106":{"tf":1.7320508075688772},"131":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":3.0},"174":{"tf":3.0},"175":{"tf":2.449489742783178},"65":{"tf":3.605551275463989},"66":{"tf":3.4641016151377544},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"df":0,"docs":{},"{":{":":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"33":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"162":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"13":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.4142135623730951},"167":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.7320508075688772}}}}}},"c":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"66":{"tf":1.0}}}}},"df":1,"docs":{"102":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":10,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"166":{"tf":2.0},"3":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"152":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"65":{"tf":2.0},"72":{"tf":1.7320508075688772},"76":{"tf":2.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"14":{"tf":1.0},"153":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"78":{"tf":1.0},"87":{"tf":1.0}},"t":{"df":2,"docs":{"13":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":52,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.0},"169":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":3.0},"56":{"tf":2.23606797749979},"57":{"tf":2.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":4.0},"66":{"tf":4.795831523312719},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":2.449489742783178},"77":{"tf":1.7320508075688772},"78":{"tf":2.23606797749979},"79":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"94":{"tf":1.0}},"m":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"59":{"tf":1.0}}},"df":7,"docs":{"14":{"tf":1.0},"159":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"132":{"tf":1.0},"140":{"tf":2.0},"150":{"tf":1.0},"159":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"162":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"84":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":14,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"124":{"tf":2.8284271247461903},"125":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":2.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.3166247903554}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"c":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"0":{"df":0,"docs":{},"x":{"4":{"8":{"0":{"0":{"_":{"1":{"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"75":{"tf":2.8284271247461903},"77":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":4,"docs":{"106":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}},"df":1,"docs":{"94":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"140":{"tf":1.0},"143":{"tf":1.0}}},"s":{"df":5,"docs":{"1":{"tf":1.0},"150":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"139":{"tf":2.0},"140":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"157":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"107":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"86":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"t":{"df":7,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"17":{"tf":1.0},"39":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":2.23606797749979}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"q":{"4":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":10,"docs":{"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":3.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"95":{"tf":1.0}},"u":{"a":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":2.8284271247461903},"134":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"121":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"107":{"tf":1.0},"137":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"149":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"71":{"tf":2.6457513110645907},"75":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"56":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}},"0":{"df":7,"docs":{"168":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":5.291502622129181},"75":{"tf":5.385164807134504},"76":{"tf":4.123105625617661},"78":{"tf":2.449489742783178}}},"1":{"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"df":4,"docs":{"66":{"tf":3.872983346207417},"75":{"tf":4.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.8284271247461903}}},"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"4":{"df":2,"docs":{"66":{"tf":2.0},"85":{"tf":2.23606797749979}}},"5":{"df":1,"docs":{"85":{"tf":2.0}}},"7":{"df":5,"docs":{"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"75":{"tf":3.1622776601683795},"78":{"tf":2.0},"85":{"tf":1.4142135623730951}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"135":{"tf":1.7320508075688772},"136":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"163":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"86":{"tf":1.0}}}},"m":{"df":5,"docs":{"148":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"140":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}}},"w":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}}},"c":{"c":{".":{"a":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":3,"docs":{"138":{"tf":2.449489742783178},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"129":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.4142135623730951},"65":{"tf":2.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":37,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":2.8284271247461903},"130":{"tf":1.7320508075688772},"131":{"tf":3.605551275463989},"132":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.7320508075688772},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"81":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":1,"docs":{"68":{"tf":1.0}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"159":{"tf":1.0},"2":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"14":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":17,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":2.449489742783178},"109":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"170":{"tf":1.0},"66":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"38":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":12,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"c":{"df":2,"docs":{"131":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"164":{"tf":1.4142135623730951},"44":{"tf":1.0},"56":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":28,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"128":{"tf":2.6457513110645907},"129":{"tf":4.123105625617661},"130":{"tf":2.23606797749979},"131":{"tf":3.4641016151377544},"148":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"175":{"tf":2.23606797749979},"56":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":2.6457513110645907},"73":{"tf":1.4142135623730951},"74":{"tf":4.242640687119285},"75":{"tf":3.1622776601683795},"76":{"tf":3.0},"77":{"tf":2.0},"78":{"tf":6.244997998398398},"79":{"tf":3.7416573867739413},"80":{"tf":2.8284271247461903},"81":{"tf":2.449489742783178},"86":{"tf":3.7416573867739413},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"9":{"df":3,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"2":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"h":{"1":{"9":{"9":{"df":0,"docs":{},"f":{"1":{"3":{"5":{"9":{"5":{"0":{"1":{"d":{"5":{"c":{"7":{"1":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"2":{"df":0,"docs":{},"e":{"3":{"4":{"3":{"6":{"df":0,"docs":{},"f":{"a":{"3":{"8":{"c":{"d":{"6":{"df":0,"docs":{},"f":{"2":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"4":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"147":{"tf":1.4142135623730951}}}},"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"138":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":14,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"156":{"tf":1.4142135623730951}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"a":{"d":{"df":2,"docs":{"35":{"tf":1.7320508075688772},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":3,"docs":{"138":{"tf":1.0},"141":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":3,"docs":{"65":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.4142135623730951},"60":{"tf":2.0},"61":{"tf":2.0},"62":{"tf":2.0},"65":{"tf":2.23606797749979},"66":{"tf":3.0},"67":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178}}},"v":{"df":3,"docs":{"101":{"tf":1.0},"165":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"119":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":2,"docs":{"90":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"68":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":4,"docs":{"133":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"131":{"tf":1.4142135623730951},"143":{"tf":1.0},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.8284271247461903},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"124":{"tf":1.0},"14":{"tf":2.449489742783178},"166":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"78":{"tf":2.0}}}},"t":{"df":13,"docs":{"142":{"tf":1.0},"163":{"tf":1.4142135623730951},"176":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"65":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"11":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"10":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"m":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"107":{"tf":1.4142135623730951},"137":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":2.23606797749979}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":13,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":2.449489742783178},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}}}}},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":3,"docs":{"111":{"tf":1.0},"116":{"tf":2.0},"17":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":2.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0}}}}}}},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":23,"docs":{"111":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":2.0},"93":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.449489742783178},"140":{"tf":1.0},"158":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":17,"docs":{"55":{"tf":2.0},"56":{"tf":2.6457513110645907},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772},"62":{"tf":2.449489742783178},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.0},"67":{"tf":2.449489742783178},"68":{"tf":1.0},"69":{"tf":2.8284271247461903},"83":{"tf":1.0},"84":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0}},"s":{":":{"1":{"0":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"7":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"9":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"166":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.0},"75":{"tf":1.0}}}}}},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"138":{"tf":2.0}}}},"p":{"c":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"t":{"c":{"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"154":{"tf":1.4142135623730951}}},"df":6,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951}},"o":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"73":{"tf":1.0},"74":{"tf":1.7320508075688772}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"33":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":50,"docs":{"10":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"176":{"tf":1.0},"20":{"tf":2.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.6457513110645907},"64":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.7416573867739413},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"/":{"d":{"5":{"a":{"8":{"2":{"b":{"b":{"d":{"2":{"6":{"df":0,"docs":{},"e":{"1":{"a":{"d":{"8":{"b":{"7":{"4":{"0":{"1":{"df":0,"docs":{},"f":{"6":{"a":{"7":{"1":{"8":{"a":{"9":{"c":{"5":{"7":{"c":{"9":{"6":{"9":{"0":{"5":{"4":{"8":{"3":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}},"s":{":":{"3":{"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"df":2,"docs":{"18":{"tf":2.23606797749979},"56":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":17,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":1.0},"149":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":2.0},"56":{"tf":1.7320508075688772},"6":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"168":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.7320508075688772}}}}}}},"w":{"df":2,"docs":{"44":{"tf":2.8284271247461903},"93":{"tf":1.7320508075688772}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"107":{"tf":1.0},"129":{"tf":1.0}}}}}},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"a":{"d":{"d":{"1":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"78":{"tf":2.449489742783178}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":18,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"172":{"tf":1.4142135623730951},"176":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.4142135623730951},"140":{"tf":1.0},"56":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"146":{"tf":1.4142135623730951},"154":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0}}}},"w":{"df":3,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"78":{"tf":1.0}}}},"b":{"1":{"0":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"n":{"df":2,"docs":{"114":{"tf":2.0},"115":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"148":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"o":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"132":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}}},"d":{"a":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"df":0,"docs":{}},"df":9,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.7320508075688772}},"e":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"51":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"66":{"tf":2.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":13,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"154":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":37,"docs":{"101":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"144":{"tf":1.0},"165":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":2.23606797749979},"71":{"tf":2.0},"74":{"tf":2.8284271247461903},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":2.0},"137":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"170":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":3.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"75":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"m":{"df":1,"docs":{"74":{"tf":1.0}}},"n":{"df":1,"docs":{"140":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"175":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"59":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":3.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"n":{"d":{"df":23,"docs":{"102":{"tf":1.0},"103":{"tf":2.6457513110645907},"104":{"tf":2.23606797749979},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"149":{"tf":1.0},"166":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"90":{"tf":1.7320508075688772},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":9,"docs":{"128":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"38":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"140":{"tf":2.23606797749979},"142":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"1":{"tf":1.0},"124":{"tf":2.0},"128":{"tf":3.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.7320508075688772},"159":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}}}}},"t":{"df":7,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{")":{"*":{")":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}},"df":31,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":3.605551275463989},"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":2.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":3.7416573867739413},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.449489742783178},"94":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":3.3166247903554},"97":{"tf":1.0},"98":{"tf":2.23606797749979},"99":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":3,"docs":{"10":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"158":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"169":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"70":{"tf":1.0},"96":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}}}}}}},"df":57,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":3.1622776601683795},"66":{"tf":3.3166247903554},"67":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":15,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.7320508075688772},"138":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"128":{"tf":1.7320508075688772},"137":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"p":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.7320508075688772}}}}},"df":6,"docs":{"170":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":1,"docs":{"71":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"86":{"tf":2.0}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":13,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"173":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":9,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":10,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":3,"docs":{"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"173":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"137":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"124":{"tf":1.4142135623730951}}},"df":5,"docs":{"111":{"tf":1.0},"170":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"56":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":2.23606797749979},"107":{"tf":2.0},"108":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.7320508075688772},"145":{"tf":1.0},"159":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"t":{"df":5,"docs":{"140":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":2,"docs":{"14":{"tf":2.0},"39":{"tf":1.0}}}},"x":{"df":2,"docs":{"131":{"tf":2.0},"65":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":14,"docs":{"16":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"20":{"tf":3.4641016151377544},"51":{"tf":1.0},"56":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.23606797749979},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.6457513110645907},"70":{"tf":2.0},"71":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"112":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":2.23606797749979},"126":{"tf":2.449489742783178},"127":{"tf":2.23606797749979},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"146":{"tf":2.449489742783178}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"155":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"155":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":1,"docs":{"138":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.7320508075688772},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"144":{"tf":1.7320508075688772},"59":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"110":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"142":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"82":{"tf":1.7320508075688772},"84":{"tf":1.0}}}},"v":{"df":3,"docs":{"13":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}}},"w":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"132":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":18,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"94":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"158":{"tf":1.0},"50":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"147":{"tf":1.0},"159":{"tf":1.0},"86":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"128":{"tf":1.0},"159":{"tf":1.4142135623730951},"4":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"175":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":5.744562646538029},"75":{"tf":2.23606797749979},"76":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":7,"docs":{"124":{"tf":1.0},"14":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"21":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":6,"docs":{"166":{"tf":1.0},"17":{"tf":1.0},"172":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":9,"docs":{"150":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":2.0},"59":{"tf":2.0},"64":{"tf":3.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"90":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.4142135623730951}},"n":{"df":3,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"84":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":2.6457513110645907}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"77":{"tf":1.7320508075688772}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}}}},"c":{"/":{"0":{"5":{"df":6,"docs":{"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":3.1622776601683795}}},"6":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"7":{"df":4,"docs":{"75":{"tf":2.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.0}}},"t":{"'":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"20":{"tf":1.0}},"e":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"175":{"tf":1.7320508075688772},"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"166":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"124":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.7320508075688772},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"t":{"df":33,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"55":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"104":{"tf":1.4142135623730951},"65":{"tf":3.4641016151377544},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"u":{"df":10,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"129":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.7320508075688772},"86":{"tf":1.0},"88":{"tf":1.0}}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}},"c":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"106":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":10,"docs":{"162":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"65":{"tf":1.0},"67":{"tf":1.0}}},"df":17,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"118":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":2.23606797749979},"56":{"tf":1.4142135623730951},"65":{"tf":4.69041575982343},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"i":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":2,"docs":{"172":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.7320508075688772}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}}}},"m":{"3":{"2":{"df":1,"docs":{"56":{"tf":1.0}},"f":{"3":{"0":{"3":{"df":0,"docs":{},"v":{"c":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"t":{"6":{"df":1,"docs":{"51":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"79":{"tf":1.0}}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"78":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"14":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"147":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"56":{"tf":1.4142135623730951}},"x":{".":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":5,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":3.3166247903554}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.4142135623730951}},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"df":19,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"48":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"108":{"tf":1.0},"151":{"tf":1.0},"94":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"144":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}}},"df":6,"docs":{"106":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":3.605551275463989},"76":{"tf":1.7320508075688772},"78":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"h":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"104":{"tf":2.23606797749979},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"109":{"tf":2.0},"56":{"tf":1.0},"70":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"163":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"143":{"tf":1.0},"148":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"138":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"76":{"tf":1.0}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"62":{"tf":2.23606797749979},"80":{"tf":1.0},"81":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":7,"docs":{"132":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":15,"docs":{"113":{"tf":2.0},"116":{"tf":1.4142135623730951},"162":{"tf":1.0},"166":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.0},"159":{"tf":1.4142135623730951},"45":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}}}},"s":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"f":{"a":{"c":{"df":2,"docs":{"138":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"145":{"tf":1.7320508075688772}}}}}}}},"v":{"d":{"2":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"d":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"70":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"151":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"70":{"tf":1.0},"99":{"tf":1.0}}}},"y":{"df":1,"docs":{"138":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":8,"docs":{"174":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"149":{"tf":1.0},"68":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"124":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"100":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"113":{"tf":1.0}}}}},"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"145":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.8284271247461903}}}}}}}},"t":{"a":{"b":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.7320508075688772}},"l":{"df":5,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"174":{"tf":1.4142135623730951},"56":{"tf":1.0},"74":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"92":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"105":{"tf":2.0},"11":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"144":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"28":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":19,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.1622776601683795},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.449489742783178},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.8284271247461903},"67":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":3.1622776601683795},"159":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0}}}}},"c":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"p":{"/":{"3":{"3":{"3":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":3,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951}}}},"df":4,"docs":{"105":{"tf":1.0},"173":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"156":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"94":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"df":1,"docs":{"166":{"tf":2.23606797749979}}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"100":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":18,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"96":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"17":{"tf":2.23606797749979},"20":{"tf":3.0},"63":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"6":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"'":{"df":26,"docs":{"105":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"152":{"tf":1.0},"166":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}},"i":{"df":5,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":2,"docs":{"135":{"tf":2.449489742783178},"136":{"tf":3.0}}},"df":0,"docs":{}},"y":{"'":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"149":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"11":{"tf":1.0},"137":{"tf":1.4142135623730951},"14":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"145":{"tf":1.0},"149":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"141":{"tf":1.0},"142":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}}}},"u":{"df":6,"docs":{"133":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.0}}}},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"105":{"tf":2.449489742783178},"142":{"tf":1.0},"154":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"m":{"6":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"r":{"1":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"7":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"83":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":40,"docs":{"10":{"tf":1.7320508075688772},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"154":{"tf":2.23606797749979},"159":{"tf":1.0},"172":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"97":{"tf":1.0}},"r":{"df":9,"docs":{"105":{"tf":1.0},"149":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":4.358898943540674},"87":{"tf":2.449489742783178},"88":{"tf":2.23606797749979},"89":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"p":{"df":2,"docs":{"157":{"tf":1.0},"67":{"tf":1.0}}}},"l":{";":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"x":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772}}}},"o":{",":{"0":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"129":{"tf":2.8284271247461903},"79":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772},"98":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"105":{"tf":2.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"168":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":19,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772}}}},"p":{"df":7,"docs":{"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"159":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.0}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"156":{"tf":1.7320508075688772},"159":{"tf":1.0},"3":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"150":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"132":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"175":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"k":{"df":4,"docs":{"141":{"tf":1.0},"154":{"tf":1.0},"55":{"tf":1.0},"86":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":4,"docs":{"135":{"tf":1.0},"159":{"tf":1.4142135623730951},"56":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"148":{"tf":1.7320508075688772},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}},"t":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":2.0},"59":{"tf":2.0}}}}}}}},"p":{"df":4,"docs":{"107":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":22,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"164":{"tf":2.0},"166":{"tf":1.0},"170":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"99":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"123":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":10,"docs":{"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"v":{"df":1,"docs":{"138":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":27,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"135":{"tf":2.0},"138":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"65":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":19,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"73":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":8,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"e":{"df":1,"docs":{"105":{"tf":1.0}}},"i":{"df":1,"docs":{"129":{"tf":1.0}}},"o":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":17,"docs":{"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"159":{"tf":1.0},"174":{"tf":2.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"78":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"i":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"1":{"6":{",":{"df":0,"docs":{},"u":{"1":{"6":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"[":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"131":{"tf":1.0}}},"5":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"66":{"tf":2.0},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":6,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":4.358898943540674},"76":{"tf":1.0},"77":{"tf":2.449489742783178},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"118":{"tf":1.0}}},":":{"9":{"6":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"121":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"148":{"tf":1.4142135623730951},"44":{"tf":1.0},"67":{"tf":1.0}}}}},"b":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"113":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"44":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"f":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"106":{"tf":1.0},"71":{"tf":1.0}}}}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"102":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"65":{"tf":1.0}}}}},"r":{"df":4,"docs":{"132":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"131":{"tf":1.0},"14":{"tf":1.4142135623730951},"3":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}}},"t":{"df":6,"docs":{"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"56":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":9,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"96":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":7,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"145":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"101":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"168":{"tf":1.4142135623730951},"38":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":56,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":2.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":2.23606797749979},"146":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"166":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":2.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"=":{"5":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"9":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"105":{"tf":1.0},"110":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"106":{"tf":2.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.7320508075688772},"123":{"tf":1.0},"148":{"tf":1.0},"53":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"100":{"tf":2.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":2.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"17":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"102":{"tf":2.0},"111":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":2.449489742783178},"155":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"45":{"tf":2.0},"48":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}}},"df":117,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.0},"12":{"tf":1.4142135623730951},"123":{"tf":2.23606797749979},"124":{"tf":2.6457513110645907},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":2.449489742783178},"136":{"tf":2.0},"137":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":1.0},"166":{"tf":3.0},"168":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.4142135623730951},"170":{"tf":2.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.7320508075688772},"59":{"tf":3.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":2.6457513110645907},"65":{"tf":4.69041575982343},"66":{"tf":4.242640687119285},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":3.1622776601683795},"71":{"tf":2.6457513110645907},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":3.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":2.6457513110645907},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.8284271247461903},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"155":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"/":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"118":{"tf":1.0},"32":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"20":{"tf":1.0}}},"2":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":3,"docs":{"56":{"tf":2.23606797749979},"66":{"tf":1.0},"71":{"tf":1.0}}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"df":2,"docs":{"17":{"tf":1.0},"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"7":{"df":1,"docs":{"48":{"tf":1.0}}},"df":8,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":32,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":2.6457513110645907},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"153":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"74":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":1.7320508075688772},"78":{"tf":5.5677643628300215},"79":{"tf":4.69041575982343},"80":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"107":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"37":{"tf":1.0},"38":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"137":{"tf":1.0}}}}},"c":{"c":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":5,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"56":{"tf":1.0}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":15,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":14,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"105":{"tf":1.0},"17":{"tf":3.0},"19":{"tf":1.0},"20":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.449489742783178},"60":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"i":{"a":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"51":{"tf":1.0},"95":{"tf":1.0}}},"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"140":{"tf":1.0},"65":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"168":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"85":{"tf":1.0}},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":2.6457513110645907}}}},"df":1,"docs":{"73":{"tf":1.4142135623730951}},"s":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"r":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"1":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"s":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"7":{"_":{"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"a":{"d":{"d":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"1":{"6":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.7320508075688772},"110":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"14":{"tf":1.0},"168":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"y":{"df":16,"docs":{"106":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"159":{"tf":1.0},"28":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"df":6,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":42,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":2.449489742783178},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":2,"docs":{"51":{"tf":1.0},"65":{"tf":1.0}}},"v":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.0}}},"i":{"df":1,"docs":{"146":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":30,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"144":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"56":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":5,"docs":{"102":{"tf":1.0},"12":{"tf":1.0},"155":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}},"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"104":{"tf":1.0},"135":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":18,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"36":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"90":{"tf":1.0},"96":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":16,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":2.6457513110645907},"105":{"tf":1.0},"111":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":2.0},"123":{"tf":2.23606797749979},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"131":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":16,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"102":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":33,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":2.23606797749979},"149":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"165":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"60":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}},"s":{":":{"1":{"0":{":":{"5":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"0":{"tf":1.0},"149":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":3.872983346207417},"71":{"tf":3.3166247903554},"93":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"153":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"105":{"tf":1.0},"162":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}}}}}},"x":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":4,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":22,"docs":{"103":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.0},"137":{"tf":3.1622776601683795},"138":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"140":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":3.1622776601683795},"64":{"tf":1.0},"65":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"95":{"tf":1.0}},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":4,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":1,"docs":{"133":{"tf":1.0}},"z":{"df":1,"docs":{"131":{"tf":1.0}}}}},"y":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":13,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":2.0},"136":{"tf":1.4142135623730951},"137":{"tf":3.1622776601683795},"138":{"tf":2.0},"140":{"tf":2.23606797749979},"141":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"140":{"tf":1.0}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":29,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":2.0},"155":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.23606797749979},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":2,"docs":{"143":{"tf":1.0},"67":{"tf":1.0}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"101":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}}}},"z":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":7,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"140":{"tf":2.449489742783178},"141":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"0":{"df":0,"docs":{},"x":{"b":{"a":{"a":{"a":{"a":{"a":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"4":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"4":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"133":{"tf":1.0},"134":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"26":{"tf":1.0}}},"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"c":{"df":1,"docs":{"152":{"tf":1.0}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"166":{"tf":1.0},"76":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"79":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":2,"docs":{"37":{"tf":1.0},"52":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"111":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"54":{"tf":1.0}}}}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":6,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"103":{"tf":1.0},"107":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"167":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"61":{"tf":1.0},"62":{"tf":1.0}}}}},"df":2,"docs":{"12":{"tf":1.0},"59":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"141":{"tf":1.0},"67":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"119":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"154":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"118":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"155":{"tf":1.0},"90":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"81":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"165":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"172":{"tf":1.0},"176":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}}}}}}},"d":{"a":{"c":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"171":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"24":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"170":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"66":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"i":{"c":{"df":4,"docs":{"116":{"tf":1.0},"120":{"tf":1.0},"165":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"68":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"m":{"a":{"df":1,"docs":{"148":{"tf":1.0}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"144":{"tf":1.0},"156":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"162":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0}}}}}},"t":{"c":{"/":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"172":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"102":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}}}}},"f":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"162":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"165":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}}}}}},"g":{"d":{"b":{"df":3,"docs":{"169":{"tf":1.0},"37":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0}}}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"i":{"2":{"c":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"m":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"132":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"40":{"tf":1.0}}},"u":{"df":0,"docs":{},"x":{"df":5,"docs":{"112":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"117":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"84":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"4":{"df":1,"docs":{"52":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"o":{"df":2,"docs":{"41":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"139":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"147":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"94":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{")":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":7,"docs":{"102":{"tf":1.0},"121":{"tf":1.0},"150":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"145":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"101":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"x":{"df":3,"docs":{"46":{"tf":1.0},"58":{"tf":1.0},"91":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}},"e":{"df":1,"docs":{"37":{"tf":1.0}}}},"p":{"df":1,"docs":{"85":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"139":{"tf":1.0}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"102":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"86":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}},"o":{"c":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":9,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"21":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"123":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"23":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"115":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"175":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"80":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"161":{"tf":1.0},"167":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"125":{"tf":1.0},"155":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"150":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"89":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"m":{"df":1,"docs":{"150":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"121":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"154":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"72":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"156":{"tf":1.0}}}},"o":{"a":{"d":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"23":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":7,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"t":{"c":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"74":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"33":{"tf":1.0},"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"18":{"tf":1.0}}},"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"103":{"tf":1.0},"104":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"123":{"tf":1.0},"53":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}},"o":{"df":1,"docs":{"158":{"tf":1.0}}}}},"t":{"df":1,"docs":{"15":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"129":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"146":{"tf":1.0}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"110":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"77":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"40":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}}}},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{"df":0,"docs":{},"v":{"c":{"df":0,"docs":{},"t":{"6":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"104":{"tf":1.0},"109":{"tf":1.0}}}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"135":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"154":{"tf":1.0}},"r":{"df":2,"docs":{"83":{"tf":1.0},"86":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"144":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"u":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"33":{"tf":1.0},"35":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"113":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}},"b":{"df":1,"docs":{"40":{"tf":1.0}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"143":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"150":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"36":{"tf":1.0},"47":{"tf":1.0},"59":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}}},"x":{"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/f3discovery/searchindex.json b/f3discovery/searchindex.json new file mode 100644 index 000000000..f86e7f060 --- /dev/null +++ b/f3discovery/searchindex.json @@ -0,0 +1 @@ +{"doc_urls":["index.html#discovery","index.html#scope","index.html#approach","index.html#non-goals","index.html#reporting-problems","index.html#other-embedded-rust-resources","index.html#sponsored-by","01-background/index.html#background","01-background/index.html#whats-a-microcontroller","01-background/index.html#what-can-you-do-with-a-microcontroller","01-background/index.html#when-should-i-use-a-microcontroller","01-background/index.html#when-should-i--not--use-a-microcontroller","01-background/index.html#why-use-rust-and-not-c","01-background/index.html#why-should-i-not-use-rust","02-requirements/index.html#hardwareknowledge-requirements","03-setup/index.html#setting-up-a-development-environment","03-setup/index.html#documentation","03-setup/index.html#tools","03-setup/index.html#rustc--cargo","03-setup/index.html#itmdump","03-setup/index.html#cargo-binutils","03-setup/index.html#os-specific-instructions","03-setup/linux.html#linux","03-setup/linux.html#required-packages","03-setup/linux.html#ubuntu-1804-or-newer--debian-stretch-or-newer","03-setup/linux.html#ubuntu-1404-and-1604","03-setup/linux.html#fedora-23-or-newer","03-setup/linux.html#arch-linux","03-setup/linux.html#other-distros","03-setup/linux.html#optional-packages","03-setup/linux.html#ubuntu--debian","03-setup/linux.html#fedora","03-setup/linux.html#arch-linux-1","03-setup/linux.html#udev-rules","03-setup/linux.html#create-etcudevrulesd99-openocdrules","03-setup/linux.html#reload-the-udev-rules-with","03-setup/windows.html#windows","03-setup/windows.html#arm-none-eabi-gdb","03-setup/windows.html#openocd","03-setup/windows.html#putty","03-setup/windows.html#st-link-usb-driver","03-setup/macos.html#macos","03-setup/verify.html#verify-the-installation","03-setup/verify.html#linux-only","03-setup/verify.html#verify-permissions","03-setup/verify.html#verify-openocd-connection","03-setup/verify.html#nix","03-setup/verify.html#windows","03-setup/verify.html#all","04-meet-your-hardware/index.html#meet-your-hardware","04-meet-your-hardware/index.html#stm32f3discovery-the-f3","04-meet-your-hardware/index.html#stm32f303vct6-the-stm32f3","04-meet-your-hardware/index.html#arm-cortex-m4","04-meet-your-hardware/index.html#the-serial-module","04-meet-your-hardware/index.html#the-bluetooth-module","05-led-roulette/index.html#led-roulette","05-led-roulette/build-it.html#build-it","05-led-roulette/flash-it.html#flash-it","05-led-roulette/flash-it.html#for-nix--macos","05-led-roulette/flash-it.html#for-windows--note--substitute-c-for-the-actual-openocd-path","05-led-roulette/flash-it.html#execute-gdb","05-led-roulette/flash-it.html#failing-case","05-led-roulette/flash-it.html#successful-case","05-led-roulette/flash-it.html#update-cargoconfigtoml","05-led-roulette/flash-it.html#flash-the-device","05-led-roulette/debug-it.html#debug-it","05-led-roulette/the-led-and-delay-abstractions.html#the-led-and-delay-abstractions","05-led-roulette/the-challenge.html#the-challenge","05-led-roulette/the-challenge.html#fork-the-discovery-book","05-led-roulette/my-solution.html#my-solution","06-hello-world/index.html#hello-world","06-hello-world/panic.html#panic","07-registers/index.html#registers","07-registers/index.html#an-aside-leds-digital-outputs-and-voltage-levels","07-registers/rtrm.html#rtrm-reading-the-reference-manual","07-registers/optimization.html#misoptimization","07-registers/bad-address.html#0xbaaaaaad-address","07-registers/spooky-action-at-a-distance.html#spooky-action-at-a-distance","07-registers/type-safe-manipulation.html#type-safe-manipulation","08-leds-again/index.html#leds-again","08-leds-again/power.html#power","08-leds-again/configuration.html#configuration","08-leds-again/the-solution.html#the-solution","09-clocks-and-timers/index.html#clocks-and-timers","09-clocks-and-timers/for-loop-delays.html#for-loop-delays","09-clocks-and-timers/nop.html#nop","09-clocks-and-timers/one-shot-timer.html#one-shot-timer","09-clocks-and-timers/initialization.html#initialization","09-clocks-and-timers/busy-waiting.html#busy-waiting","09-clocks-and-timers/putting-it-all-together.html#putting-it-all-together","10-serial-communication/index.html#serial-communication","10-serial-communication/nix-tooling.html#nix-tooling","10-serial-communication/nix-tooling.html#newer-revisions-of-the-discovery-board","10-serial-communication/nix-tooling.html#older-revisions-of-the-discovery-board--external-serial-module","10-serial-communication/nix-tooling.html#all-revisions-minicom","10-serial-communication/nix-tooling.html#minicom-commands","10-serial-communication/windows-tooling.html#windows-tooling","10-serial-communication/loopbacks.html#loopbacks","10-serial-communication/loopbacks.html#older-board-revision--external-serial-module","10-serial-communication/loopbacks.html#newer-board-revision","11-usart/index.html#usart","11-usart/index.html#newer-board-revisions","11-usart/index.html#older-board-revisions--external-serial-module","11-usart/send-a-single-byte.html#send-a-single-byte","11-usart/send-a-string.html#send-a-string","11-usart/buffer-overrun.html#overruns","11-usart/uprintln.html#uprintln","11-usart/receive-a-single-byte.html#receive-a-single-byte","11-usart/echo-server.html#echo-server","11-usart/reverse-a-string.html#reverse-a-string","11-usart/my-solution.html#my-solution","12-bluetooth-setup/index.html#bluetooth-setup","12-bluetooth-setup/linux.html#linux","12-bluetooth-setup/linux.html#power-up","12-bluetooth-setup/linux.html#scan","12-bluetooth-setup/linux.html#pair","12-bluetooth-setup/linux.html#rfcomm-device","12-bluetooth-setup/loopback.html#loopback-again","12-bluetooth-setup/at-commands.html#at-commands","12-bluetooth-setup/at-commands.html#sanity-check","12-bluetooth-setup/at-commands.html#rename-the-device","12-bluetooth-setup/at-commands.html#query-for-the-current-baud-rate-of-the-bluetooth-module","12-bluetooth-setup/at-commands.html#change-the-baud-rate","13-serial-over-bluetooth/index.html#serial-over-bluetooth","14-i2c/index.html#i2c","14-i2c/the-general-protocol.html#general-protocol","14-i2c/the-general-protocol.html#master---slave","14-i2c/the-general-protocol.html#master---slave-1","14-i2c/lsm303dlhc.html#lsm303dlhc","14-i2c/read-a-single-register.html#read-a-single-register","14-i2c/the-solution.html#the-solution","14-i2c/read-several-registers.html#read-several-registers","15-led-compass/index.html#led-compass","15-led-compass/take-1.html#take-1","15-led-compass/solution-1.html#solution-1","15-led-compass/take-2.html#take-2","15-led-compass/solution-2.html#solution-2","15-led-compass/magnitude.html#magnitude","15-led-compass/calibration.html#calibration","16-punch-o-meter/index.html#punch-o-meter","16-punch-o-meter/gravity-is-up.html#gravity-is-up","16-punch-o-meter/the-challenge.html#the-challenge","16-punch-o-meter/my-solution.html#my-solution","explore.html#whats-left-for-you-to-explore","explore.html#topics-about-embedded-software","explore.html#multitasking","explore.html#sleeping","explore.html#topics-related-to-microcontroller-capabilities","explore.html#direct-memory-access-dma","explore.html#interrupts","explore.html#pulse-width-modulation-pwm","explore.html#digital-inputs","explore.html#analog-to-digital-converters-adc","explore.html#digital-to-analog-converters-dac","explore.html#real-time-clock-rtc","explore.html#other-communication-protocols","explore.html#general-embedded-relevant-topics","explore.html#gyroscopes","explore.html#servo-and-stepper-motors","explore.html#sensor-fusion","appendix/1-general-troubleshooting/index.html#general-troubleshooting","appendix/1-general-troubleshooting/index.html#openocd-problems","appendix/1-general-troubleshooting/index.html#cant-connect-to-openocd---error-open-failed","appendix/1-general-troubleshooting/index.html#cant-connect-to-openocd---polling-again-in-x00ms","appendix/1-general-troubleshooting/index.html#openocd-connection-lost---polling-again-in-x00ms","appendix/1-general-troubleshooting/index.html#cant-flash-the-device---ignoring-packet-error-continuing","appendix/1-general-troubleshooting/index.html#cant-connect-to-openocd---error-couldnt-bind-telnet-to-socket-address-already-in-use","appendix/1-general-troubleshooting/index.html#cargo-problems","appendix/1-general-troubleshooting/index.html#cant-find-crate-for-core","appendix/2-how-to-use-gdb/index.html#how-to-use-gdb","appendix/2-how-to-use-gdb/index.html#general-debugging","appendix/2-how-to-use-gdb/index.html#dealing-with-breakpoints","appendix/2-how-to-use-gdb/index.html#controlling-execution","appendix/2-how-to-use-gdb/index.html#printing-information","appendix/2-how-to-use-gdb/index.html#looking-at-the-symbol-table","appendix/2-how-to-use-gdb/index.html#poking-around-the-program-stack","appendix/2-how-to-use-gdb/index.html#controlling-openocd-remotely"],"index":{"documentStore":{"docInfo":{"0":{"body":18,"breadcrumbs":2,"title":1},"1":{"body":59,"breadcrumbs":2,"title":1},"10":{"body":113,"breadcrumbs":3,"title":2},"100":{"body":61,"breadcrumbs":2,"title":1},"101":{"body":51,"breadcrumbs":4,"title":3},"102":{"body":174,"breadcrumbs":7,"title":6},"103":{"body":84,"breadcrumbs":7,"title":3},"104":{"body":51,"breadcrumbs":5,"title":2},"105":{"body":354,"breadcrumbs":4,"title":1},"106":{"body":200,"breadcrumbs":3,"title":1},"107":{"body":115,"breadcrumbs":7,"title":3},"108":{"body":27,"breadcrumbs":5,"title":2},"109":{"body":85,"breadcrumbs":5,"title":2},"11":{"body":34,"breadcrumbs":3,"title":2},"110":{"body":59,"breadcrumbs":3,"title":1},"111":{"body":134,"breadcrumbs":4,"title":2},"112":{"body":15,"breadcrumbs":4,"title":1},"113":{"body":122,"breadcrumbs":5,"title":2},"114":{"body":5,"breadcrumbs":4,"title":1},"115":{"body":24,"breadcrumbs":4,"title":1},"116":{"body":43,"breadcrumbs":5,"title":2},"117":{"body":74,"breadcrumbs":5,"title":2},"118":{"body":174,"breadcrumbs":4,"title":1},"119":{"body":10,"breadcrumbs":5,"title":2},"12":{"body":51,"breadcrumbs":4,"title":3},"120":{"body":2,"breadcrumbs":5,"title":2},"121":{"body":6,"breadcrumbs":9,"title":6},"122":{"body":2,"breadcrumbs":6,"title":3},"123":{"body":119,"breadcrumbs":6,"title":3},"124":{"body":160,"breadcrumbs":2,"title":1},"125":{"body":17,"breadcrumbs":5,"title":2},"126":{"body":55,"breadcrumbs":5,"title":2},"127":{"body":53,"breadcrumbs":5,"title":2},"128":{"body":119,"breadcrumbs":3,"title":1},"129":{"body":232,"breadcrumbs":7,"title":3},"13":{"body":44,"breadcrumbs":3,"title":2},"130":{"body":122,"breadcrumbs":3,"title":1},"131":{"body":325,"breadcrumbs":7,"title":3},"132":{"body":190,"breadcrumbs":4,"title":2},"133":{"body":191,"breadcrumbs":6,"title":2},"134":{"body":69,"breadcrumbs":6,"title":2},"135":{"body":143,"breadcrumbs":6,"title":2},"136":{"body":87,"breadcrumbs":6,"title":2},"137":{"body":230,"breadcrumbs":4,"title":1},"138":{"body":271,"breadcrumbs":4,"title":1},"139":{"body":61,"breadcrumbs":6,"title":3},"14":{"body":323,"breadcrumbs":4,"title":2},"140":{"body":217,"breadcrumbs":7,"title":2},"141":{"body":77,"breadcrumbs":5,"title":1},"142":{"body":97,"breadcrumbs":5,"title":1},"143":{"body":40,"breadcrumbs":6,"title":3},"144":{"body":21,"breadcrumbs":6,"title":3},"145":{"body":99,"breadcrumbs":4,"title":1},"146":{"body":52,"breadcrumbs":4,"title":1},"147":{"body":22,"breadcrumbs":7,"title":4},"148":{"body":45,"breadcrumbs":7,"title":4},"149":{"body":82,"breadcrumbs":4,"title":1},"15":{"body":16,"breadcrumbs":8,"title":4},"150":{"body":87,"breadcrumbs":7,"title":4},"151":{"body":30,"breadcrumbs":5,"title":2},"152":{"body":37,"breadcrumbs":7,"title":4},"153":{"body":37,"breadcrumbs":7,"title":4},"154":{"body":27,"breadcrumbs":7,"title":4},"155":{"body":41,"breadcrumbs":5,"title":2},"156":{"body":13,"breadcrumbs":7,"title":4},"157":{"body":50,"breadcrumbs":4,"title":1},"158":{"body":48,"breadcrumbs":6,"title":3},"159":{"body":160,"breadcrumbs":5,"title":2},"16":{"body":59,"breadcrumbs":5,"title":1},"160":{"body":0,"breadcrumbs":4,"title":2},"161":{"body":0,"breadcrumbs":4,"title":2},"162":{"body":74,"breadcrumbs":8,"title":6},"163":{"body":99,"breadcrumbs":8,"title":6},"164":{"body":81,"breadcrumbs":8,"title":6},"165":{"body":90,"breadcrumbs":9,"title":7},"166":{"body":139,"breadcrumbs":13,"title":11},"167":{"body":0,"breadcrumbs":4,"title":2},"168":{"body":93,"breadcrumbs":6,"title":4},"169":{"body":15,"breadcrumbs":4,"title":2},"17":{"body":113,"breadcrumbs":5,"title":1},"170":{"body":32,"breadcrumbs":4,"title":2},"171":{"body":94,"breadcrumbs":4,"title":2},"172":{"body":66,"breadcrumbs":4,"title":2},"173":{"body":100,"breadcrumbs":4,"title":2},"174":{"body":70,"breadcrumbs":5,"title":3},"175":{"body":83,"breadcrumbs":6,"title":4},"176":{"body":28,"breadcrumbs":5,"title":3},"18":{"body":32,"breadcrumbs":6,"title":2},"19":{"body":10,"breadcrumbs":5,"title":1},"2":{"body":38,"breadcrumbs":2,"title":1},"20":{"body":102,"breadcrumbs":6,"title":2},"21":{"body":9,"breadcrumbs":7,"title":3},"22":{"body":6,"breadcrumbs":6,"title":1},"23":{"body":0,"breadcrumbs":7,"title":2},"24":{"body":19,"breadcrumbs":11,"title":6},"25":{"body":23,"breadcrumbs":8,"title":3},"26":{"body":6,"breadcrumbs":8,"title":3},"27":{"body":23,"breadcrumbs":7,"title":2},"28":{"body":72,"breadcrumbs":6,"title":1},"29":{"body":0,"breadcrumbs":7,"title":2},"3":{"body":64,"breadcrumbs":3,"title":2},"30":{"body":5,"breadcrumbs":7,"title":2},"31":{"body":5,"breadcrumbs":6,"title":1},"32":{"body":7,"breadcrumbs":7,"title":2},"33":{"body":65,"breadcrumbs":7,"title":2},"34":{"body":34,"breadcrumbs":8,"title":3},"35":{"body":15,"breadcrumbs":8,"title":3},"36":{"body":0,"breadcrumbs":6,"title":1},"37":{"body":43,"breadcrumbs":9,"title":4},"38":{"body":47,"breadcrumbs":6,"title":1},"39":{"body":7,"breadcrumbs":6,"title":1},"4":{"body":10,"breadcrumbs":3,"title":2},"40":{"body":25,"breadcrumbs":9,"title":4},"41":{"body":23,"breadcrumbs":6,"title":1},"42":{"body":5,"breadcrumbs":8,"title":2},"43":{"body":0,"breadcrumbs":7,"title":1},"44":{"body":154,"breadcrumbs":8,"title":2},"45":{"body":76,"breadcrumbs":9,"title":3},"46":{"body":33,"breadcrumbs":7,"title":1},"47":{"body":37,"breadcrumbs":7,"title":1},"48":{"body":150,"breadcrumbs":6,"title":0},"49":{"body":5,"breadcrumbs":4,"title":2},"5":{"body":22,"breadcrumbs":4,"title":3},"50":{"body":53,"breadcrumbs":4,"title":2},"51":{"body":126,"breadcrumbs":4,"title":2},"52":{"body":137,"breadcrumbs":5,"title":3},"53":{"body":39,"breadcrumbs":4,"title":2},"54":{"body":13,"breadcrumbs":4,"title":2},"55":{"body":230,"breadcrumbs":4,"title":2},"56":{"body":535,"breadcrumbs":4,"title":1},"57":{"body":67,"breadcrumbs":4,"title":1},"58":{"body":9,"breadcrumbs":5,"title":2},"59":{"body":286,"breadcrumbs":10,"title":7},"6":{"body":19,"breadcrumbs":2,"title":1},"60":{"body":94,"breadcrumbs":5,"title":2},"61":{"body":43,"breadcrumbs":5,"title":2},"62":{"body":133,"breadcrumbs":5,"title":2},"63":{"body":365,"breadcrumbs":5,"title":2},"64":{"body":205,"breadcrumbs":5,"title":2},"65":{"body":1112,"breadcrumbs":4,"title":1},"66":{"body":1912,"breadcrumbs":8,"title":3},"67":{"body":455,"breadcrumbs":4,"title":1},"68":{"body":38,"breadcrumbs":6,"title":3},"69":{"body":318,"breadcrumbs":4,"title":1},"7":{"body":0,"breadcrumbs":2,"title":1},"70":{"body":541,"breadcrumbs":4,"title":2},"71":{"body":513,"breadcrumbs":4,"title":1},"72":{"body":123,"breadcrumbs":2,"title":1},"73":{"body":92,"breadcrumbs":7,"title":6},"74":{"body":358,"breadcrumbs":6,"title":4},"75":{"body":662,"breadcrumbs":3,"title":1},"76":{"body":416,"breadcrumbs":5,"title":2},"77":{"body":188,"breadcrumbs":7,"title":3},"78":{"body":614,"breadcrumbs":7,"title":3},"79":{"body":220,"breadcrumbs":4,"title":2},"8":{"body":32,"breadcrumbs":3,"title":2},"80":{"body":107,"breadcrumbs":4,"title":1},"81":{"body":87,"breadcrumbs":4,"title":1},"82":{"body":42,"breadcrumbs":4,"title":1},"83":{"body":76,"breadcrumbs":4,"title":2},"84":{"body":88,"breadcrumbs":6,"title":2},"85":{"body":159,"breadcrumbs":4,"title":1},"86":{"body":238,"breadcrumbs":8,"title":3},"87":{"body":108,"breadcrumbs":4,"title":1},"88":{"body":142,"breadcrumbs":6,"title":2},"89":{"body":111,"breadcrumbs":6,"title":2},"9":{"body":77,"breadcrumbs":2,"title":1},"90":{"body":254,"breadcrumbs":4,"title":2},"91":{"body":0,"breadcrumbs":6,"title":2},"92":{"body":58,"breadcrumbs":8,"title":4},"93":{"body":102,"breadcrumbs":11,"title":7},"94":{"body":167,"breadcrumbs":6,"title":2},"95":{"body":43,"breadcrumbs":6,"title":2},"96":{"body":174,"breadcrumbs":6,"title":2},"97":{"body":24,"breadcrumbs":4,"title":1},"98":{"body":55,"breadcrumbs":9,"title":6},"99":{"body":69,"breadcrumbs":6,"title":3}},"docs":{"0":{"body":"Discover the world of microcontrollers through Rust ! This book is an introductory course on microcontroller-based embedded systems that uses Rust as the teaching language rather than the usual C/C++.","breadcrumbs":"Introduction » Discovery","id":"0","title":"Discovery"},"1":{"body":"The following topics will be covered (eventually, I hope): How to write, build, flash and debug an \"embedded\" (Rust) program. Functionality (\"peripherals\") commonly found in microcontrollers: Digital input and output, Pulse Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like Serial, I2C and SPI, etc. Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc. Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, closed loop control, etc.","breadcrumbs":"Introduction » Scope","id":"1","title":"Scope"},"10":{"body":"All these applications I've mentioned, you can probably implement with a Raspberry Pi, a computer that runs Linux. Why should I bother with a microcontroller that operates without an OS? Sounds like it would be harder to develop a program. The main reason is cost. A microcontroller is much cheaper than a general-purpose computer. Not only the microcontroller is cheaper; it also requires many fewer external electrical components to operate. This makes Printed Circuit Boards (PCBs) smaller and cheaper to design and manufacture. The other big reason is power consumption. A microcontroller consumes orders of magnitude less power than a full-blown processor. If your application will run on batteries that makes a huge difference. And last but not least: (hard) real-time constraints. Some processes require their controllers to respond to some events within some time interval (e.g. a quadcopter/drone hit by a wind gust). If this deadline is not met, the process could end in catastrophic failure (e.g. the drone crashes to the ground). A general-purpose computer running a general-purpose OS has many services running in the background. This makes it hard to guarantee the execution of a program within tight time constraints.","breadcrumbs":"Background » When should I use a microcontroller?","id":"10","title":"When should I use a microcontroller?"},"100":{"body":"The microcontroller has a peripheral called USART, which stands for Universal Synchronous/Asynchronous Receiver/Transmitter. This peripheral can be configured to work with several communication protocols like the serial communication protocol. Throughout this chapter, we'll use serial communication to exchange information between the microcontroller and your computer. But before we do that we have to wire up everything. I mentioned before that this protocol involves two data lines: TX and RX. TX stands for transmitter and RX stands for receiver. Transmitter and receiver are relative terms though; which line is the transmitter and which line is the receiver depends from which side of the communication you are looking at the lines.","breadcrumbs":"USART » USART","id":"100","title":"USART"},"101":{"body":"If you have a newer revision of the board and are using the on-board USB <-> Serial functionality then the auxiliary crate will set pin PC4 as the TX line and pin PC5 as the RX line. If you had previously connected the PC4 and PC4 pins in order to test the loopback functionality in the previous section, make sure to remove that wire, or the upcoming serial communication will fail silently. Everything is already wired on the board so you don't need to wire anything yourself. You can move on to the next section .","breadcrumbs":"USART » Newer board revisions","id":"101","title":"Newer board revisions"},"102":{"body":"If you are using an external USB <-> Serial module then you will need to enable the adapter feature of the aux11 crate dependency in Cargo.toml. [dependencies.aux11]\npath = \"auxiliary\"\n# enable this if you are going to use an external serial adapter\nfeatures = [\"adapter\"] # <- uncomment this We'll be using the pin PA9 as the microcontroller's TX line and PA10 as its RX line. In other words, the pin PA9 outputs data onto its wire whereas the pin PA10 listens for data on its wire. We could have used a different pair of pins as the TX and RX pins. There's a table in page 44 of the Data Sheet that list all the other possible pins we could have used. The serial module also has TX and RX pins. We'll have to cross these pins: that is connect the microcontroller's TX pin to the serial module's RX pin and the micro's RX pin to the serial module's TX pin. The wiring diagram below shows all the necessary connections. These are the recommended steps to connect the microcontroller and the serial module: Close OpenOCD and itmdump Disconnect the USB cables from the F3 and the serial module. Connect one of F3 GND pins to the GND pin of the serial module using a female to male (F/M) wire. Preferably, a black one. Connect the PA9 pin on the back of the F3 to the RXI pin of the serial module using a F/M wire. Connect the PA10 pin on the back of the F3 to the TXO pin of the serial module using a F/M wire. Now connect the USB cable to the F3. Finally connect the USB cable to the Serial module. Re-launch OpenOCD and itmdump Everything's wired up! Let's proceed to send data back and forth.","breadcrumbs":"USART » Older board revisions / external serial module","id":"102","title":"Older board revisions / external serial module"},"103":{"body":"Our first task will be to send a single byte from the microcontroller to the computer over the serial connection. This time, I'm going to provide you with an already initialized USART peripheral. You'll only have to work with the registers that are in charge of sending and receiving data. Go into the 11-usart directory and let's run the starter code therein. Make sure that you have minicom/PuTTY open. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // Send a single character usart1 .tdr .write(|w| w.tdr().bits(u16::from(b'X')) ); loop {}\n} This program writes to the TDR register. This causes the USART peripheral to send one byte of information through the serial interface. On the receiving end, your computer, you should see show the character X appear on minicom/PuTTY's terminal.","breadcrumbs":"USART » Send a single byte » Send a single byte","id":"103","title":"Send a single byte"},"104":{"body":"The next task will be to send a whole string from the microcontroller to your computer. I want you to send the string \"The quick brown fox jumps over the lazy dog.\" from the microcontroller to your computer. It's your turn to write the program. Execute your program inside the debugger, statement by statement. What do you see? Then execute the program again but in one go using the continue command. What happens this time? Finally, build the program in release mode and, again, run it in one go. What happens this time?","breadcrumbs":"USART » Send a string » Send a string","id":"104","title":"Send a string"},"105":{"body":"If you wrote your program like this: #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // Send a string for byte in b\"The quick brown fox jumps over the lazy dog.\".iter() { usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } loop {}\n} You probably received something like this on your computer when you executed the program compiled in debug mode. $ # minicom's terminal\n(..)\nThe uic brwn oxjums oer helaz do. And if you compiled in release mode, you probably only got something like this: $ # minicom's terminal\n(..)\nT What went wrong? You see, sending bytes over the wire takes a relatively large amount of time. I already did the math so let me quote myself: With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data that results in a data rate of 11.52 KB/s Our pangram has a length of 45 bytes. That means it's going to take, at least, 3,900 microseconds (45 bytes / (11,520 bytes/s) = 3,906 us) to send the string. The processor is working at 8 MHz, where executing an instruction takes 125 nanoseconds, so it's likely going to be done with the for loop in less than 3,900 microseconds. We can actually time how long it takes to execute the for loop. aux11::init() returns a MonoTimer (monotonic timer) value that exposes an Instant API that's similar to the one in std::time. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, mono_timer, mut itm) = aux11::init(); let instant = mono_timer.now(); // Send a string for byte in b\"The quick brown fox jumps over the lazy dog.\".iter() { usart1.tdr.write(|w| w.tdr().bits(u16::from(*byte))); } let elapsed = instant.elapsed(); // in ticks iprintln!( &mut itm.stim[0], \"`for` loop took {} ticks ({} us)\", elapsed, elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6 ); loop {}\n} In debug mode, I get: $ # itmdump terminal\n(..)\n`for` loop took 22415 ticks (2801.875 us) This is less than 3,900 microseconds but it's not that far off and that's why only a few bytes of information are lost. In conclusion, the processor is trying to send bytes at a faster rate than what the hardware can actually handle and this results in data loss. This condition is known as buffer overrun . How do we avoid this? The status register (ISR) has a flag, TXE, that indicates if it's \"safe\" to write to the TDR register without incurring in data loss. Let's use that to slowdown the processor. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, mono_timer, mut itm) = aux11::init(); let instant = mono_timer.now(); // Send a string for byte in b\"The quick brown fox jumps over the lazy dog.\".iter() { // wait until it's safe to write to TDR while usart1.isr.read().txe().bit_is_clear() {} // <- NEW! usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } let elapsed = instant.elapsed(); // in ticks iprintln!( &mut itm.stim[0], \"`for` loop took {} ticks ({} us)\", elapsed, elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6 ); loop {}\n} This time, running the program in debug or release mode should result in a complete string on the receiving side. $ # minicom/PuTTY's console\n(..)\nThe quick brown fox jumps over the lazy dog. The timing of the for loop should be closer to the theoretical 3,900 microseconds as well. The timing below is for the debug version. $ # itmdump terminal\n(..)\n`for` loop took 30499 ticks (3812.375 us)","breadcrumbs":"USART » Buffer overrun » Overruns","id":"105","title":"Overruns"},"106":{"body":"For the next exercise, we'll implement the uprint! family of macros. Your goal is to make this line of code work: uprintln!(serial, \"The answer is {}\", 40 + 2); Which must send the string \"The answer is 42\" through the serial interface. How do we go about that? It's informative to look into the std implementation of println!. // src/libstd/macros.rs\nmacro_rules! print { ($($arg:tt)*) => ($crate::io::_print(format_args!($($arg)*)));\n} Looks simple so far. We need the built-in format_args! macro (it's implemented in the compiler so we can't see what it actually does). We'll have to use that macro in the exact same way. What does this _print function do? // src/libstd/io/stdio.rs\npub fn _print(args: fmt::Arguments) { let result = match LOCAL_STDOUT.state() { LocalKeyState::Uninitialized | LocalKeyState::Destroyed => stdout().write_fmt(args), LocalKeyState::Valid => { LOCAL_STDOUT.with(|s| { if s.borrow_state() == BorrowState::Unused { if let Some(w) = s.borrow_mut().as_mut() { return w.write_fmt(args); } } stdout().write_fmt(args) }) } }; if let Err(e) = result { panic!(\"failed printing to stdout: {}\", e); }\n} That looks complicated but the only part we are interested in is: w.write_fmt(args) and stdout().write_fmt(args). What print! ultimately does is call the fmt::Write::write_fmt method with the output of format_args! as its argument. Luckily we don't have to implement the fmt::Write::write_fmt method either because it's a default method. We only have to implement the fmt::Write::write_str method. Let's do that. This is what the macro side of the equation looks like. What's left to be done by you is provide the implementation of the write_str method. Above we saw that Write is in std::fmt. We don't have access to std but Write is also available in core::fmt. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use core::fmt::{self, Write}; #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln, usart1}; macro_rules! uprint { ($serial:expr, $($arg:tt)*) => { $serial.write_fmt(format_args!($($arg)*)).ok() };\n} macro_rules! uprintln { ($serial:expr, $fmt:expr) => { uprint!($serial, concat!($fmt, \"\\n\")) }; ($serial:expr, $fmt:expr, $($arg:tt)*) => { uprint!($serial, concat!($fmt, \"\\n\"), $($arg)*) };\n} struct SerialPort { usart1: &'static mut usart1::RegisterBlock,\n} impl fmt::Write for SerialPort { fn write_str(&mut self, s: &str) -> fmt::Result { // TODO implement this // hint: this will look very similar to the previous program Ok(()) }\n} #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); let mut serial = SerialPort { usart1 }; uprintln!(serial, \"The answer is {}\", 40 + 2); loop {}\n}","breadcrumbs":"USART » uprintln! » uprintln!","id":"106","title":"uprintln!"},"107":{"body":"So far we have sending data from the microcontroller to your computer. It's time to try the opposite: receiving data from your computer. There's a RDR register that will be filled with the data that comes from the RX line. If we read that register, we'll retrieve the data that the other side of the channel sent. The question is: How do we know that we have received (new) data? The status register, ISR, has a bit for that purpose: RXNE. We can just busy wait on that flag. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); loop { // Wait until there's data available while usart1.isr.read().rxne().bit_is_clear() {} // Retrieve the data let _byte = usart1.rdr.read().rdr().bits() as u8; aux11::bkpt(); }\n} Let's try this program! Let it run free using continue and then type a single character in minicom/PuTTY's console. What happens? What are the contents of the _byte variable? (gdb) continue\nContinuing. Program received signal SIGTRAP, Trace/breakpoint trap.\n0x8003d48 in __bkpt () (gdb) finish\nRun till exit from #0 0x8003d48 in __bkpt ()\nusart::main () at src/11-usart/src/main.rs:19\n19 aux11::bkpt(); (gdb) p/c _byte\n$1 = 97 'a'","breadcrumbs":"USART » Receive a single byte » Receive a single byte","id":"107","title":"Receive a single byte"},"108":{"body":"Let's merge transmission and reception into a single program and write an echo server. An echo server sends back to the client the same text it sent. For this application, the microcontroller will be the server and you and your computer will be the client. This should be straightforward to implement. (hint: do it byte by byte)","breadcrumbs":"USART » Echo server » Echo server","id":"108","title":"Echo server"},"109":{"body":"Alright, next let's make the server more interesting by having it respond to the client with the reverse of the text that they sent. The server will respond to the client every time they press the ENTER key. Each server response will be in a new line. This time you'll need a buffer; you can use heapless::Vec . Here's the starter code: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln};\nuse heapless::Vec; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); // TODO Receive a user request. Each user request ends with ENTER // NOTE `buffer.push` returns a `Result`. Handle the error by responding // with an error message. // TODO Send back the reversed string }\n}","breadcrumbs":"USART » Reverse a string » Reverse a string","id":"109","title":"Reverse a string"},"11":{"body":"Where heavy computations are involved. To keep their power consumption low, microcontrollers have very limited computational resources available to them. For example, some microcontrollers don't even have hardware support for floating-point operations. On those devices, performing a simple addition of single-precision numbers can take hundreds of CPU cycles.","breadcrumbs":"Background » When should I not use a microcontroller?","id":"11","title":"When should I not use a microcontroller?"},"110":{"body":"#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux11::{entry, iprint, iprintln};\nuse heapless::Vec; #[entry]\nfn main() -> ! { let (usart1, _mono_timer, _itm) = aux11::init(); // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); loop { while usart1.isr.read().rxne().bit_is_clear() {} let byte = usart1.rdr.read().rdr().bits() as u8; if buffer.push(byte).is_err() { // buffer full for byte in b\"error: buffer full\\n\\r\" { while usart1.isr.read().txe().bit_is_clear() {} usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } break; } // Carriage return if byte == 13 { // Respond for byte in buffer.iter().rev().chain(&[b'\\n', b'\\r']) { while usart1.isr.read().txe().bit_is_clear() {} usart1 .tdr .write(|w| w.tdr().bits(u16::from(*byte))); } break; } } }\n}","breadcrumbs":"USART » My solution » My solution","id":"110","title":"My solution"},"111":{"body":"It's time to get rid of some wires. Serial communication can not only be emulated on top of the USB protocol; it can also be emulated on top of the Bluetooth protocol. This serial over Bluetooth protocol is known as RFCOMM. Before we use the Bluetooth module with the microcontroller, let's first interact with it using minicom/PuTTY. The first thing we'll need to do is: turn on the Bluetooth module. We'll have to share some of the F3 power to it using the following connection: The recommend steps to wire this up are: Close OpenOCD and itmdump Disconnect the USB cables from the F3 and the serial module. Connect F3's GND pin to the Bluetooth's GND pin using a female to female (F/F) wire. Preferably, a black one. Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire. Preferably, a red one. Then, connect the USB cable back to the F3. Re-launch OpenOCD and itmdump Two LEDs, a blue one and a red one, on the Bluetooth module should start blinking right after you power on the F3 board. Next thing to do is pair your computer and the Bluetooth module. AFAIK, Windows and mac users can simply use their OS default Bluetooth manager to do the pairing. The Bluetooth module default pin is 1234. Linux users will have to follow (some of) these instructions .","breadcrumbs":"Bluetooth setup » Bluetooth setup","id":"111","title":"Bluetooth setup"},"112":{"body":"If you have a graphical Bluetooth manager, you can use that to pair your computer to the Bluetooth module and skip most of these steps. You'll probably still have to this step though.","breadcrumbs":"Bluetooth setup » Linux » Linux","id":"112","title":"Linux"},"113":{"body":"First, your computer's Bluetooth transceiver may be OFF. Check its status with hciconfig and turn it ON if necessary: $ hciconfig\nhci0: Type: Primary Bus: USB BD Address: 68:17:29:XX:XX:XX ACL MTU: 310:10 SCO MTU: 64:8 DOWN <-- RX bytes:580 acl:0 sco:0 events:31 errors:0 TX bytes:368 acl:0 sco:0 commands:30 errors:0 $ sudo hciconfig hci0 up $ hciconfig\nhci0: Type: Primary Bus: USB BD Address: 68:17:29:XX:XX:XX ACL MTU: 310:10 SCO MTU: 64:8 UP RUNNING <-- RX bytes:1190 acl:0 sco:0 events:67 errors:0 TX bytes:1072 acl:0 sco:0 commands:66 errors:0 Then you need to launch the BlueZ (Bluetooth) daemon: On systemd based Linux distributions, use: $ sudo systemctl start bluetooth On Ubuntu (or upstart based Linux distributions), use: $ sudo /etc/init.d/bluetooth start You may also need to unblock your Bluetooth, depending on what rfkill list says: $ rfkill list\n9: hci0: Bluetooth Soft blocked: yes # <-- Hard blocked: no $ sudo rfkill unblock bluetooth $ rfkill list\n9: hci0: Bluetooth Soft blocked: no # <-- Hard blocked: no","breadcrumbs":"Bluetooth setup » Linux » Power up","id":"113","title":"Power up"},"114":{"body":"$ hcitool scan\nScanning ... 20:16:05:XX:XX:XX Ferris\n$ # ^^^^^^","breadcrumbs":"Bluetooth setup » Linux » Scan","id":"114","title":"Scan"},"115":{"body":"$ bluetoothctl\n[bluetooth]# scan on\n[bluetooth]# agent on\n[bluetooth]# pair 20:16:05:XX:XX:XX\nAttempting to pair with 20:16:05:XX:XX:XX\n[CHG] Device 20:16:05:XX:XX:XX Connected: yes\nRequest PIN code\n[agent] Enter PIN code: 1234","breadcrumbs":"Bluetooth setup » Linux » Pair","id":"115","title":"Pair"},"116":{"body":"We'll create a device file for our Bluetooth module in /dev. Then we'll be able to use it just like we used /dev/ttyUSB0. $ sudo rfcomm bind 0 20:16:05:XX:XX:XX Because we used 0 as an argument to bind, /dev/rfcomm0 will be the device file assigned to our Bluetooth module. You can release (destroy) the device file at any time with the following command: $ # Don't actually run this command right now!\n$ sudo rfcomm release 0","breadcrumbs":"Bluetooth setup » Linux » rfcomm device","id":"116","title":"rfcomm device"},"117":{"body":"After pairing your computer to the Bluetooth module, your OS should have created a device file / COM port for you. On Linux, it should be /dev/rfcomm*; on mac, it should be /dev/cu.*; and on Windows, it should be a new COM port. We can now test the Bluetooth module with minicom/PuTTY. Because this module doesn't have LED indicators for the transmission and reception events like the serial module did, we'll test the module using a loopback connection: Just connect the module's TXD pin to its RXD pin using a F/F wire. Now, connect to the device using minicom/PuTTY: $ minicom -D /dev/rfcomm0 Upon connecting, the blinking pattern of the Bluetooth module should change to: long pause then blink twice quickly. Typing inside minicom/PuTTY terminal should echo back what you type.","breadcrumbs":"Bluetooth setup » Loopback » Loopback, again","id":"117","title":"Loopback, again"},"118":{"body":"The Bluetooth module and the F3 need to be configured to communicate at the same baud rate. The tutorial code initializes the UART1 serial device to a baud rate of 115200. The HC-05 Bluetooth module is configured at a baud rate of 9600 by default. The Bluetooth module supports an AT mode that allows you to examine and change its configuration and settings. To utilize the AT mode, connect the Bluetooth module to the F3 and FTDI as shown in the following diagram. Recommended steps to enter AT mode: Disconnect the F3 and FTDI from your computer. Connect F3's GND pin to the Bluetooth's GND pin using a Female/Female (F/F) wire (preferably, a black one). Connect F3's 5V pin to the Bluetooth's VCC pin using a F/F wire (preferably, a red one). Connect the FTDI RXI pin to the Bluetooth's TXD pin using a Female/Male (F/M) wire. Connect the FTDI TXO pin to the Bluetooth's RXD pin using a Female/Male (F/M) wire. Now connect the FTDI to your computer via USB cable. Next connect the F3 to your computer via USB cable while simultaneously pressing and holding the button on the Bluetooth module (kinda tricky). Now, release the button and the Bluetooth module will enter AT mode. You can confirm this by observing that the red LED on the Bluetooth module is blinking in a slow pattern (approx 1-2 seconds on/off). The AT mode always operates at a baud rate of 38400, so configure your terminal program for that baud rate and connect to the FTDI device. When your serial connection is established, you may get a bunch of ERROR: (0) repeatedly being displayed. If this happens, just hit ENTER to stop the errors.","breadcrumbs":"Bluetooth setup » AT commands » AT commands","id":"118","title":"AT commands"},"119":{"body":"$ at\nOK\nOK\n(etc...) Answers OK repeatedly until you hit ENTER again.","breadcrumbs":"Bluetooth setup » AT commands » Sanity check","id":"119","title":"Sanity check"},"12":{"body":"Hopefully, I don't need to convince you here as you are probably familiar with the language differences between Rust and C. One point I do want to bring up is package management. C lacks an official, widely accepted package management solution whereas Rust has Cargo. This makes development much easier. And, IMO, easy package management encourages code reuse because libraries can be easily integrated into an application which is also a good thing as libraries get more \"battle testing\".","breadcrumbs":"Background » Why use Rust and not C?","id":"12","title":"Why use Rust and not C?"},"120":{"body":"$ at+name=ferris\nOK","breadcrumbs":"Bluetooth setup » AT commands » Rename the device","id":"120","title":"Rename the device"},"121":{"body":"at+uart?\n+UART:9600,0,0\nOK\n+UART:9600,0,0\nOK\n(etc ...)","breadcrumbs":"Bluetooth setup » AT commands » Query for the current baud rate of the Bluetooth module","id":"121","title":"Query for the current baud rate of the Bluetooth module"},"122":{"body":"$ at+uart=115200,0,0\nOK","breadcrumbs":"Bluetooth setup » AT commands » Change the baud rate","id":"122","title":"Change the baud rate"},"123":{"body":"Now that we verify that the Bluetooth module works with minicom/PuTTY, let's connect it to the microcontroller: Recommended steps to wire this up: Close OpenOCD and itmdump. Disconnect the F3 from your computer. Connect F3's GND pin to the module's GND pin using a female to female (F/F) wire (preferably, a black one). Connect F3's 5V pin to the module's VCC pin using a F/F wire (preferably, a red one). Connect the PA9 (TX) pin on the back of the F3 to the Bluetooth's RXD pin using a F/F wire. Connect the PA10 (RX) pin on the back of the F3 to the Bluetooth's TXD pin using a F/F wire. Now connect the F3 and your computer using an USB cable. Re-launch OpenOCD and itmdump. And that's it! You should be able to run all the programs you wrote in section 11 without modification! Just make sure you open the right serial device / COM port. NOTE If you are having trouble communicating with the bluetooth device, you may need to initialize USART1 with a lower baud rate. Lowering it from 115,200 bps to 9,600 bps might help, as described in the code here","breadcrumbs":"Serial over Bluetooth » Serial over Bluetooth","id":"123","title":"Serial over Bluetooth"},"124":{"body":"We just saw the serial communication protocol. It's a widely used protocol because it's very simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and USB. However, it's simplicity is also a downside. More elaborated data exchanges, like reading a digital sensor, would require the sensor vendor to come up with another protocol on top of it. (Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some of them are widely used in digital sensors. The F3 board we are using has three motion sensors in it: an accelerometer, a magnetometer and gyroscope. The accelerometer and magnetometer are packaged in a single component and can be accessed via an I2C bus. I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is used to synchronize the communication, this is a synchronous protocol. This protocol uses a master slave model where the master is the device that starts and drives the communication with a slave device. Several devices, both masters and slaves, can be connected to the same bus at the same time. A master device can communicate with a specific slave device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. Once a master has started a communication with a slave, no other device can make use of the bus until the master stops the communication. The clock line determines how fast data can be exchanged and it usually operates at a frequency of 100 KHz (standard mode) or 400 KHz (fast mode).","breadcrumbs":"I2C » I2C","id":"124","title":"I2C"},"125":{"body":"The I2C protocol is more elaborate than the serial communication protocol because it has to support communication between several devices. Let's see how it works using examples:","breadcrumbs":"I2C » The general protocol » General protocol","id":"125","title":"General protocol"},"126":{"body":"If the master wants to send data to the slave: Master: Broadcast START M: Broadcast slave address (7 bits) + the R/W (8th) bit set to WRITE Slave: Responds ACK (ACKnowledgement) M: Send one byte S: Responds ACK Repeat steps 4 and 5 zero or more times M: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Master -> Slave","id":"126","title":"Master -> Slave"},"127":{"body":"If the master wants to read data from the slave: M: Broadcast START M: Broadcast slave address (7 bits) + the R/W (8th) bit set to READ S: Responds with ACK S: Send byte M: Responds with ACK Repeat steps 4 and 5 zero or more times M: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The slave address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Master <- Slave","id":"127","title":"Master <- Slave"},"128":{"body":"* NOTE : Newer (from around 2020/09) Discovery boards may have an LSM303AGR rather than a LSM303DLHC . Checkout the github issues like this for more details. Two of the sensors in the F3, the magnetometer and the accelerometer, are packaged in a single component: the LSM303DLHC integrated circuit. These two sensors can be accessed via an I2C bus. Each sensor behaves like an I2C slave and has a different address. Each sensor has its own memory where it stores the results of sensing its environment. Our interaction with these sensors will mainly involve reading their memory. The memory of these sensors is modeled as byte addressable registers. These sensors can be configured too; that's done by writing to their registers. So, in a sense, these sensors are very similar to the peripherals inside the microcontroller. The difference is that their registers are not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the I2C bus. The main source of information about the LSM303DLHC is its Data Sheet . Read through it to see how one can read the sensors' registers. That part is in: Section 5.1.1 I2C Operation - Page 20 - LSM303DLHC Data Sheet The other part of the documentation relevant to this book is the description of the registers. That part is in: Section 7 Register description - Page 25 - LSM303DLHC Data Sheet","breadcrumbs":"I2C » LSM303DLHC » LSM303DLHC","id":"128","title":"LSM303DLHC"},"129":{"body":"Let's put all that theory into practice! Just like with the USART peripheral, I've taken care of initializing everything before you reach main so you'll only have to deal with the following registers: CR2. Control register 2. ISR. Interrupt and status register. TXDR. Transmit data register. RXDR. Receive data register. These registers are documented in the following section of the Reference Manual: Section 28.7 I2C registers - Page 868 - Reference Manual We'll be using the I2C1 peripheral in conjunction with pins PB6 (SCL) and PB7 (SDA). You won't have to wire anything this time because the sensor is on the board and it's already connected to the microcontroller. However, I would recommend that you disconnect the serial / Bluetooth module from the F3 to make it easier to manipulate. Later on, we'll be moving the board around quite a bit. Your task is to write a program that reads the contents of the magnetometer's IRA_REG_M register. This register is read only and always contains the value 0b01001000. The microcontroller will be taking the role of the I2C master and the magnetometer inside the LSM303DLHC will be the I2C slave. Here's the starter code. You'll have to implement the TODOs. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux14::{entry, iprint, iprintln, prelude::*}; // Slave address\nconst MAGNETOMETER: u16 = 0b0011_1100; // Addresses of the magnetometer's registers\nconst OUT_X_H_M: u8 = 0x03;\nconst IRA_REG_M: u8 = 0x0A; #[entry]\nfn main() -> ! { let (i2c1, _delay, mut itm) = aux14::init(); // Stage 1: Send the address of the register we want to read to the // magnetometer { // TODO Broadcast START // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Write // TODO Send the address of the register that we want to read: IRA_REG_M } // Stage 2: Receive the contents of the register we asked for let byte = { // TODO Broadcast RESTART // TODO Broadcast the MAGNETOMETER address with the R/W bit set to Read // TODO Receive the contents of the register // TODO Broadcast STOP 0 }; // Expected output: 0x0A - 0b01001000 iprintln!(&mut itm.stim[0], \"0x{:02X} - 0b{:08b}\", IRA_REG_M, byte); loop {}\n} To give you some extra help, these are the exact bitfields you'll be working with: CR2: SADD1, RD_WRN, NBYTES, START, AUTOEND ISR: TXIS, RXNE, TC TXDR: TXDATA RXDR: RXDATA","breadcrumbs":"I2C » Read a single register » Read a single register","id":"129","title":"Read a single register"},"13":{"body":"Or why should I prefer C over Rust? The C ecosystem is way more mature. Off the shelf solution for several problems already exist. If you need to control a time-sensitive process, you can grab one of the existing commercial Real-Time Operating Systems (RTOS) out there and solve your problem. There are no commercial, production-grade RTOSes in Rust yet so you would have to either create one yourself or try one of the ones that are in development.","breadcrumbs":"Background » Why should I not use Rust?","id":"13","title":"Why should I not use Rust?"},"130":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux14::{entry, iprint, iprintln, prelude::*}; // Slave address\nconst MAGNETOMETER: u16 = 0b0011_1100; // Addresses of the magnetometer's registers\nconst OUT_X_H_M: u8 = 0x03;\nconst IRA_REG_M: u8 = 0x0A; #[entry]\nfn main() -> ! { let (i2c1, _delay, mut itm) = aux14::init(); // Stage 1: Send the address of the register we want to read to the // magnetometer { // Broadcast START // Broadcast the MAGNETOMETER address with the R/W bit set to Write i2c1.cr2.write(|w| { w.start().set_bit(); w.sadd().bits(MAGNETOMETER); w.rd_wrn().clear_bit(); w.nbytes().bits(1); w.autoend().clear_bit() }); // Wait until we can send more data while i2c1.isr.read().txis().bit_is_clear() {} // Send the address of the register that we want to read: IRA_REG_M i2c1.txdr.write(|w| w.txdata().bits(IRA_REG_M)); // Wait until the previous byte has been transmitted while i2c1.isr.read().tc().bit_is_clear() {} } // Stage 2: Receive the contents of the register we asked for let byte = { // Broadcast RESTART // Broadcast the MAGNETOMETER address with the R/W bit set to Read i2c1.cr2.modify(|_, w| { w.start().set_bit(); w.nbytes().bits(1); w.rd_wrn().set_bit(); w.autoend().set_bit() }); // Wait until we have received the contents of the register while i2c1.isr.read().rxne().bit_is_clear() {} // Broadcast STOP (automatic because of `AUTOEND = 1`) i2c1.rxdr.read().rxdata().bits() }; // Expected output: 0x0A - 0b01001000 iprintln!(&mut itm.stim[0], \"0x{:02X} - 0b{:08b}\", IRA_REG_M, byte); loop {}\n}","breadcrumbs":"I2C » The solution » The solution","id":"130","title":"The solution"},"131":{"body":"Reading the IRA_REG_M register was a good test of our understanding of the I2C protocol but that register contains uninteresting information. This time, we'll read the registers of the magnetometer that actually expose the sensor readings. Six contiguous registers are involved and they start with OUT_X_H_M at address 0x03. We'll modify our previous program to read these six registers. Only a few modifications are needed. We'll need to change the address we request from the magnetometer from IRA_REG_M to OUT_X_H_M. // Send the address of the register that we want to read: OUT_X_H_M i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M)); We'll have to request the slave for six bytes rather than just one. // Broadcast RESTART // Broadcast the MAGNETOMETER address with the R/W bit set to Read i2c1.cr2.modify(|_, w| { w.start().set_bit(); w.nbytes().bits(6); w.rd_wrn().set_bit(); w.autoend().set_bit() }); And fill a buffer rather than read just one byte: let mut buffer = [0u8; 6]; for byte in &mut buffer { // Wait until we have received the contents of the register while i2c1.isr.read().rxne().bit_is_clear() {} *byte = i2c1.rxdr.read().rxdata().bits(); } // Broadcast STOP (automatic because of `AUTOEND = 1`) Putting it all together inside a loop alongside a delay to reduce the data throughput: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux14::{entry, iprint, iprintln, prelude::*}; // Slave address\nconst MAGNETOMETER: u16 = 0b0011_1100; // Addresses of the magnetometer's registers\nconst OUT_X_H_M: u8 = 0x03;\nconst IRA_REG_M: u8 = 0x0A; #[entry]\nfn main() -> ! { let (i2c1, mut delay, mut itm) = aux14::init(); loop { // Broadcast START // Broadcast the MAGNETOMETER address with the R/W bit set to Write i2c1.cr2.write(|w| { w.start().set_bit(); w.sadd().bits(MAGNETOMETER); w.rd_wrn().clear_bit(); w.nbytes().bits(1); w.autoend().clear_bit() }); // Wait until we can send more data while i2c1.isr.read().txis().bit_is_clear() {} // Send the address of the register that we want to read: OUT_X_H_M i2c1.txdr.write(|w| w.txdata().bits(OUT_X_H_M)); // Wait until the previous byte has been transmitted while i2c1.isr.read().tc().bit_is_clear() {} // Broadcast RESTART // Broadcast the MAGNETOMETER address with the R/W bit set to Read i2c1.cr2.modify(|_, w| { w.start().set_bit(); w.nbytes().bits(6); w.rd_wrn().set_bit(); w.autoend().set_bit() }); let mut buffer = [0u8; 6]; for byte in &mut buffer { // Wait until we have received something while i2c1.isr.read().rxne().bit_is_clear() {} *byte = i2c1.rxdr.read().rxdata().bits(); } // Broadcast STOP (automatic because of `AUTOEND = 1`) iprintln!(&mut itm.stim[0], \"{:?}\", buffer); delay.delay_ms(1_000_u16); }\n} If you run this, you should printed in the itmdump's console a new array of six bytes every second. The values within the array should change if you move around the board. $ # itmdump terminal\n(..)\n[0, 45, 255, 251, 0, 193]\n[0, 44, 255, 249, 0, 193]\n[0, 49, 255, 250, 0, 195] But these bytes don't make much sense like that. Let's turn them into actual readings: let x_h = u16::from(buffer[0]); let x_l = u16::from(buffer[1]); let z_h = u16::from(buffer[2]); let z_l = u16::from(buffer[3]); let y_h = u16::from(buffer[4]); let y_l = u16::from(buffer[5]); let x = ((x_h << 8) + x_l) as i16; let y = ((y_h << 8) + y_l) as i16; let z = ((z_h << 8) + z_l) as i16; iprintln!(&mut itm.stim[0], \"{:?}\", (x, y, z)); Now it should look better: $ # `itmdump terminal\n(..)\n(44, 196, -7)\n(45, 195, -6)\n(46, 196, -9) This is the Earth's magnetic field decomposed alongside the XYZ axis of the magnetometer. In the next section, we'll learn how to make sense of these numbers.","breadcrumbs":"I2C » Read several registers » Read several registers","id":"131","title":"Read several registers"},"132":{"body":"In this section, we'll implement a compass using the LEDs on the F3. Like proper compasses, our LED compass must point north somehow. It will do that by turning on one of its eight LEDs; the on LED should point towards north. Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction . The magnetometer on the F3 measures both the magnitude and the direction of an external magnetic field but it reports back the decomposition of said field along its axes . See below, the magnetometer has three axes associated to it. Only the X and Y axes are shown above. The Z axis is pointing \"out\" of your screen. Let's get familiar with the readings of the magnetometer by running the following starter code: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*}; #[entry]\nfn main() -> ! { let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init(); loop { iprintln!(&mut itm.stim[0], \"{:?}\", lsm303dlhc.mag().unwrap()); delay.delay_ms(1_000_u16); }\n} This lsm303dlhc module provides high level API over the LSM303DLHC. Under the hood it does the same I2C routine that you implemented in the last section but it reports the X, Y and Z values in a I16x3 struct instead of a tuple. Locate where north is at your current location. Then rotate the board such that it's aligned \"towards north\": the North LED (LD3) should be pointing towards north. Now run the starter code and observe the output. What X, Y and Z values do you see? $ # itmdump terminal\n(..)\nI16x3 { x: 45, y: 194, z: -3 }\nI16x3 { x: 46, y: 195, z: -8 }\nI16x3 { x: 47, y: 197, z: -2 } Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do you see this time? Then rotate it 90 degrees again. What values do you see?","breadcrumbs":"LED compass » LED compass","id":"132","title":"LED compass"},"133":{"body":"What's the simplest way in which we can implement the LED compass? Even if it's not perfect. For starters, we'd only care about the X and Y components of the magnetic field because when you look at a compass you always hold it in horizontal position thus the compass is in the XY plane. For example, what LED would you turn on in the following case. EMF stands for Earth's Magnetic Field and green arrow has the direction of the EMF (it points north). The Southeast LED, right? What signs do the X and Y components of the magnetic field have in that scenario? Both are positive. If we only looked at the signs of the X and Y components we could determine to which quadrant the magnetic field belongs to. In the previous example, the magnetic field was in the first quadrant (x and y were positive) and it made sense to turn on the SouthEast LED. Similarly, we could turn a different LED if the magnetic field was in a different quadrant. Let's try that logic. Here's the starter code: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3}; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); // Look at the signs of the X and Y components to determine in which // quadrant the magnetic field is let dir = match (x > 0, y > 0) { // Quadrant ??? (true, true) => Direction::Southeast, // Quadrant ??? (false, true) => panic!(\"TODO\"), // Quadrant ??? (false, false) => panic!(\"TODO\"), // Quadrant ??? (true, false) => panic!(\"TODO\"), }; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(1_000_u16); }\n} There's a Direction enum in the led module that has 8 variants named after the cardinal points: North, East, Southwest, etc. Each of these variants represent one of the 8 LEDs in the compass. The Leds value can be indexed using the Direction enum; the result of indexing is the LED that points in that Direction.","breadcrumbs":"LED compass » Take 1 » Take 1","id":"133","title":"Take 1"},"134":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3}; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); // Look at the signs of the X and Y components to determine in which // quadrant the magnetic field is let dir = match (x > 0, y > 0) { // Quadrant I (true, true) => Direction::Southeast, // Quadrant II (false, true) => Direction::Northeast, // Quadrant III (false, false) => Direction::Northwest, // Quadrant IV (true, false) => Direction::Southwest, }; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(1_000_u16); }\n}","breadcrumbs":"LED compass » Solution 1 » Solution 1","id":"134","title":"Solution 1"},"135":{"body":"This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y axes of the magnetometer. We'll use the atan2 function. This function returns an angle in the -PI to PI range. The graphic below shows how this angle is measured: Although not explicitly shown in this graph the X axis points to the right and the Y axis points up. Here's the starter code. theta, in radians, has already been computed. You need to pick which LED to turn on based on the value of theta. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] // You'll find this useful ;-)\nuse core::f32::consts::PI; #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};\n// this trait provides the `atan2` method\nuse m::Float; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); let _theta = (y as f32).atan2(x as f32); // in radians // FIXME pick a direction to point to based on `theta` let dir = Direction::Southeast; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(100_u8); }\n} Suggestions/tips: A whole circle rotation equals 360 degrees. PI radians is equivalent to 180 degrees. If theta was zero, what LED would you turn on? If theta was, instead, very close to zero, what LED would you turn on? If theta kept increasing, at what value would you turn on a different LED?","breadcrumbs":"LED compass » Take 2 » Take 2","id":"135","title":"Take 2"},"136":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] // You'll find this useful ;-)\nuse core::f32::consts::PI; #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, switch_hal::OutputSwitch, Direction, I16x3};\nuse m::Float; #[entry]\nfn main() -> ! { let (leds, mut lsm303dlhc, mut delay, _itm) = aux15::init(); let mut leds = leds.into_array(); loop { let I16x3 { x, y, .. } = lsm303dlhc.mag().unwrap(); let theta = (y as f32).atan2(x as f32); // in radians let dir = if theta < -7. * PI / 8. { Direction::North } else if theta < -5. * PI / 8. { Direction::Northwest } else if theta < -3. * PI / 8. { Direction::West } else if theta < -PI / 8. { Direction::Southwest } else if theta < PI / 8. { Direction::South } else if theta < 3. * PI / 8. { Direction::Southeast } else if theta < 5. * PI / 8. { Direction::East } else if theta < 7. * PI / 8. { Direction::Northeast } else { Direction::North }; leds.iter_mut().for_each(|led| led.off().unwrap()); leds[dir as usize].on().unwrap(); delay.delay_ms(100_u8); }\n}","breadcrumbs":"LED compass » Solution 2 » Solution 2","id":"136","title":"Solution 2"},"137":{"body":"We have been working with the direction of the magnetic field but what's its real magnitude? The number that the magnetic_field function reports are unit-less. How can we convert those values to Gauss? The documentation will answer that question. Section 2.1 Sensor characteristics - Page 10 - LSM303DLHC Data Sheet The table in that page shows a magnetic gain setting that has different values according to the values of the GN bits. By default, those GN bits are set to 001. That means that magnetic gain of the X and Y axes is 1100 LSB / Gauss and the magnetic gain of the Z axis is 980 LSB / Gauss. LSB stands for Least Significant Bits and the 1100 LSB / Gauss number indicates that a reading of 1100 is equivalent to 1 Gauss, a reading of 2200 is equivalent to 2 Gauss and so on. So, what we need to do is divide the X, Y and Z values that the sensor outputs by its corresponding gain . Then, we'll have the X, Y and Z components of the magnetic field in Gauss. With some extra math we can retrieve the magnitude of the magnetic field from its X, Y and Z components: let magnitude = (x * x + y * y + z * z).sqrt(); Putting all this together in a program: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, I16x3};\nuse m::Float; #[entry]\nfn main() -> ! { const XY_GAIN: f32 = 1100.; // LSB / G const Z_GAIN: f32 = 980.; // LSB / G let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init(); loop { let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap(); let x = f32::from(x) / XY_GAIN; let y = f32::from(y) / XY_GAIN; let z = f32::from(z) / Z_GAIN; let mag = (x * x + y * y + z * z).sqrt(); iprintln!(&mut itm.stim[0], \"{} mG\", mag * 1_000.); delay.delay_ms(500_u16); }\n} This program will report the magnitude (strength) of the magnetic field in milligauss (mG). The magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude varies depending on your geographical location) so you should see a value in that range or close to that range -- I see a magnitude of around 210 mG. Some questions: Without moving the board, what value do you see? Do you always see the same value? If you rotate the board, does the magnitude change? Should it change?","breadcrumbs":"LED compass » Magnitude » Magnitude","id":"137","title":"Magnitude"},"138":{"body":"If we rotate the board, the direction of the Earth's magnetic field with respect to the magnetometer should change but its magnitude should not! Yet, the magnetometer indicates that the magnitude of the magnetic field changes as the board rotates. Why's that the case? Turns out the magnetometer needs to be calibrated to return the correct answer. The calibration involves quite a bit of math (matrices) so we won't cover it here but this Application Note describes the procedure if you are interested. Instead, what we'll do in this section is visualize how off we are. Let's try this experiment: Let's record the readings of the magnetometer while we slowly rotate the board in different directions. We'll use the iprintln macro to format the readings as Tab Separated Values (TSV). #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux15::{entry, iprint, iprintln, prelude::*, I16x3}; #[entry]\nfn main() -> ! { let (_leds, mut lsm303dlhc, mut delay, mut itm) = aux15::init(); loop { let I16x3 { x, y, z } = lsm303dlhc.mag().unwrap(); iprintln!(&mut itm.stim[0], \"{}\\t{}\\t{}\", x, y, z); delay.delay_ms(100_u8); }\n} You should get an output in the console that looks like this: $ # itmdump console\n-76 213 -54\n-76 213 -54\n-76 213 -54\n-76 213 -54\n-73 213 -55 You can pipe that to a file using: $ # Careful! Exit any running other `itmdump` instance that may be running\n$ itmdump -F -f itm.txt > emf.txt Rotate the board in many different direction while you log data for a several seconds. Then import that TSV file into a spreadsheet program (or use the Python script shown below) and plot the first two columns as a scatter plot. #!/usr/bin/python import csv\nimport math\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport seaborn as sns\nimport sys # apply plot style\nsns.set() x = []\ny = [] with open(sys.argv[1], 'r') as f: rows = csv.reader(f, delimiter='\\t') for row in rows: # discard rows that are missing data if len(row) != 3 or not row[0] or not row[1]: continue x.append(int(row[0])) y.append(int(row[1])) r = math.ceil(max(max(np.abs(x)), max(np.abs(y))) / 100) * 100 plt.plot(x, y, '.')\nplt.xlim(-r, r)\nplt.ylim(-r, r)\nplt.gca().set_aspect(1)\nplt.tight_layout() plt.savefig('emf.svg')\nplt.close If you rotated the board on a flat horizontal surface, the Z component of the magnetic field should have remained relatively constant and this plot should have been a circumference (not a ellipse) centered at the origin. If you rotated the board in random directions, which was the case of plot above, then you should have gotten a circle made of a bunch of points centered at the origin. Deviations from the circle shape indicate that the magnetometer needs to be calibrated. Take home message: Don't just trust the reading of a sensor. Verify it's outputting sensible values. If it's not, then calibrate it.","breadcrumbs":"LED compass » Calibration » Calibration","id":"138","title":"Calibration"},"139":{"body":"In this section we'll be playing with the accelerometer that's in the board. What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, actually the maximum acceleration that you can reach because acceleration is what accelerometers measure. Strength and acceleration are proportional though so it's a good approximation. The accelerometer is also built inside the LSM303DLHC package. And just like the magnetometer, it can also be accessed using the I2C bus. It also has the same coordinate system as the magnetometer. Here's the coordinate system again: Just like in the previous unit, we'll be using a high level API to directly get the sensor readings in a nicely packaged struct.","breadcrumbs":"Punch-o-meter » Punch-o-meter","id":"139","title":"Punch-o-meter"},"14":{"body":"The primary knowledge requirement to read this book is to know some Rust. It's hard for me to quantify some but at least I can tell you that you don't need to fully grok generics but you do need to know how to use closures. You also need to be familiar with the idioms of the 2018 edition , in particular with the fact that extern crate is not necessary in the 2018 edition. Due to the nature of embedded programming, it will also be extremely helpful to understand how binary and hexadecimal representations of values work, as well as the use of some bitwise operators. For example, it would be useful to understand how the following program produces its output. fn main() { let a = 0x4000_0000 + 0xa2; // Use of the bit shift \"<<\" operation. let b = 1 << 5; // {:X} will format values as hexadecimal println!(\"{:X}: {:X}\", a, b);\n} Also, to follow this material you'll need the following hardware: (Some components are optional but recommended) A STM32F3DISCOVERY board. (You can purchase this board from \"big\" electronics suppliers or from e-commerce sites ) OPTIONAL. A 3.3V USB <-> Serial module. To elaborate: if you have one of the latest revisions of the discovery board (which is usually the case given the first revision was released years ago) then you do not need this module because the board includes this functionality on-board. If you have an older revision of the board then you'll need this module for chapters 10 and 11. For completeness, we'll include instructions for using a Serial module. The book will use this particular model but you can use any other model as long as it operates at 3.3V. The CH340G module, which you can buy from e-commerce sites works too and it's probably cheaper for you to get. OPTIONAL. A HC-05 Bluetooth module (with headers!). A HC-06 would work too. (As with other Chinese parts, you pretty much can only find these on e-commerce sites . (US) Electronics suppliers don't usually stock these for some reason) Two mini-B USB cables. One is required to make the STM32F3DISCOVERY board work. The other is only required if you have the Serial <-> USB module. Make sure that the cables both support data transfer as some cables only support charging devices. NOTE These are not the USB cables that ship with pretty much every Android phone; those are micro USB cables. Make sure you have the right thing! MOSTLY OPTIONAL. 5 female to female, 4 male to female and 1 Male to Male jumper (AKA Dupont) wires. You'll very likely need one female to female to get ITM working. The other wires are only needed if you'll be using the USB <-> Serial and Bluetooth modules. (You can get these from electronics suppliers or from e-commerce sites ) FAQ : Wait, why do I need this specific hardware? It makes my life and yours much easier. The material is much, much more approachable if we don't have to worry about hardware differences. Trust me on this one. FAQ : Can I follow this material with a different development board? Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or whether there already exists a high level crate, like the f3 , for your development board somewhere. With a different development board, this text would lose most if not all its beginner friendliness and \"easy to follow\"-ness, IMO. If you have a different development board and you don't consider yourself a total beginner, you are better off starting with the quickstart project template.","breadcrumbs":"Hardware/knowledge requirements » Hardware/knowledge requirements","id":"14","title":"Hardware/knowledge requirements"},"140":{"body":"What's the first thing we'll do? Perform a sanity check! The starter code prints the X, Y and Z components of the acceleration measured by the accelerometer. The values have already been \"scaled\" and have units of gs. Where 1 g is equal to the acceleration of the gravity, about 9.8 meters per second squared. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity}; #[entry]\nfn main() -> ! { let (mut lsm303dlhc, mut delay, _mono_timer, mut itm) = aux16::init(); // extend sensing range to `[-12g, +12g]` lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap(); loop { const SENSITIVITY: f32 = 12. / (1 << 14) as f32; let I16x3 { x, y, z } = lsm303dlhc.accel().unwrap(); let x = f32::from(x) * SENSITIVITY; let y = f32::from(y) * SENSITIVITY; let z = f32::from(z) * SENSITIVITY; iprintln!(&mut itm.stim[0], \"{:?}\", (x, y, z)); delay.delay_ms(1_000_u16); }\n} The output of this program with the board sitting still will be something like: $ # itmdump console\n(..)\n(0.0, 0.0, 1.078125)\n(0.0, 0.0, 1.078125)\n(0.0, 0.0, 1.171875)\n(0.0, 0.0, 1.03125)\n(0.0, 0.0, 1.078125) Which is weird because the board is not moving yet its acceleration is non-zero. What's going on? This must be related to the gravity, right? Because the acceleration of gravity is 1 g. But the gravity pulls objects downwards so the acceleration along the Z axis should be negative not positive ... Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity to the X or Y axis but the acceleration measured by the accelerometer is always pointing up. What happens here is that the accelerometer is measuring the proper acceleration of the board not the acceleration you are observing. This proper acceleration is the acceleration of the board as seen from a observer that's in free fall. An observer that's in free fall is moving toward the center of the the Earth with an acceleration of 1g; from its point of view the board is actually moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the proper acceleration is pointing up. This also means that if the board was in free fall, the accelerometer would report a proper acceleration of zero. Please, don't try that at home. Yes, physics is hard. Let's move on.","breadcrumbs":"Punch-o-meter » Gravity is up? » Gravity is up?","id":"140","title":"Gravity is up?"},"141":{"body":"To keep things simple, we'll measure the acceleration only in the X axis while the board remains horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed before which would be hard because that 1g could have X Y Z components depending on how the board is oriented. Here's what the punch-o-meter must do: By default, the app is not \"observing\" the acceleration of the board. When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), the app should start a new measurement. During that measurement interval, the app should keep track of the maximum acceleration observed After the measurement interval ends, the app must report the maximum acceleration observed. You can report the value using the iprintln macro. Give it a try and let me know how hard you can punch ;-).","breadcrumbs":"Punch-o-meter » The challenge » The challenge","id":"141","title":"The challenge"},"142":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux16::{entry, iprint, iprintln, prelude::*, I16x3, Sensitivity};\nuse m::Float; #[entry]\nfn main() -> ! { const SENSITIVITY: f32 = 12. / (1 << 14) as f32; const THRESHOLD: f32 = 0.5; let (mut lsm303dlhc, mut delay, mono_timer, mut itm) = aux16::init(); lsm303dlhc.set_accel_sensitivity(Sensitivity::G12).unwrap(); let measurement_time = mono_timer.frequency().0; // 1 second in ticks let mut instant = None; let mut max_g = 0.; loop { let g_x = f32::from(lsm303dlhc.accel().unwrap().x).abs() * SENSITIVITY; match instant { None => { // If acceleration goes above a threshold, we start measuring if g_x > THRESHOLD { iprintln!(&mut itm.stim[0], \"START!\"); max_g = g_x; instant = Some(mono_timer.now()); } } // Still measuring Some(ref instant) if instant.elapsed() < measurement_time => { if g_x > max_g { max_g = g_x; } } _ => { // Report max value iprintln!(&mut itm.stim[0], \"Max acceleration: {}g\", max_g); // Measurement done instant = None; // Reset max_g = 0.; } } delay.delay_ms(50_u8); }\n}","breadcrumbs":"Punch-o-meter » My solution » My solution","id":"142","title":"My solution"},"143":{"body":"We have barely scratched the surface! There's lots of stuff left for you to explore. NOTE: If you're reading this, and you'd like to help add examples or exercises to the Discovery book for any of the items below, or any other relevant embedded topics, we'd love to have your help! Please open an issue if you would like to help, but need assistance or mentoring for how to contribute this to the book, or open a Pull Request adding the information!","breadcrumbs":"What's left for you to explore » What's left for you to explore","id":"143","title":"What's left for you to explore"},"144":{"body":"These topics discuss strategies for writing embedded software. Although many problems can be solved in different ways, these sections talk about some strategies, and when they make sense (or don't make sense) to use.","breadcrumbs":"What's left for you to explore » Topics about embedded software","id":"144","title":"Topics about embedded software"},"145":{"body":"All our programs executed a single task. How could we achieve multitasking in a system with no OS, and thus no threads. There are two main approaches to multitasking: preemptive multitasking and cooperative multitasking. In preemptive multitasking a task that's currently being executed can, at any point in time, be preempted (interrupted) by another task. On preemption, the first task will be suspended and the processor will instead execute the second task. At some point the first task will be resumed. Microcontrollers provide hardware support for preemption in the form of interrupts . In cooperative multitasking a task that's being executed will run until it reaches a suspension point . When the processor reaches that suspension point it will stop executing the current task and instead go and execute a different task. At some point the first task will be resumed. The main difference between these two approaches to multitasking is that in cooperative multitasking yields execution control at known suspension points instead of being forcefully preempted at any point of its execution.","breadcrumbs":"What's left for you to explore » Multitasking","id":"145","title":"Multitasking"},"146":{"body":"All our programs have been continuously polling peripherals to see if there's anything that needs to be done. However, some times there's nothing to be done! At those times, the microcontroller should \"sleep\". When the processor sleeps, it stops executing instructions and this saves power. It's almost always a good idea to save power so your microcontroller should be sleeping as much as possible. But, how does it know when it has to wake up to perform some action? \"Interrupts\" are one of the events that wake up the microcontroller but there are others and the wfi and wfe are the instructions that make the processor \"sleep\".","breadcrumbs":"What's left for you to explore » Sleeping","id":"146","title":"Sleeping"},"147":{"body":"Microcontrollers (like our STM32F3) have many different capabilities. However, many share similar capabilities that can be used to solve all sorts of different problems. These topics discuss some of those capabilities, and how they can be used effectively in embedded development.","breadcrumbs":"What's left for you to explore » Topics related to microcontroller capabilities","id":"147","title":"Topics related to microcontroller capabilities"},"148":{"body":"This peripheral is a kind of asynchronous memcpy. So far our programs have been pumping data, byte by byte, into peripherals like UART and I2C. This DMA peripheral can be used to perform bulk transfers of data. Either from RAM to RAM, from a peripheral, like a UART, to RAM or from RAM to a peripheral. You can schedule a DMA transfer, like read 256 bytes from USART1 into this buffer, leave it running in the background and then poll some register to see if it has completed so you can do other stuff while the transfer is ongoing.","breadcrumbs":"What's left for you to explore » Direct Memory Access (DMA).","id":"148","title":"Direct Memory Access (DMA)."},"149":{"body":"In order to interact with the real world, it is often necessary for the microcontroller to respond immediately when some kind of event occurs. Microcontrollers have the ability to be interrupted, meaning when a certain event occurs, it will stop whatever it is doing at the moment, to instead respond to that event. This can be very useful when we want to stop a motor when a button is pressed, or measure a sensor when a timer finishes counting down. Although these interrupts can be very useful, they can also be a bit difficult to work with properly. We want to make sure that we respond to events quickly, but also allow other work to continue as well. In Rust, we model interrupts similar to the concept of threading on desktop Rust programs. This means we also must think about the Rust concepts of Send and Sync when sharing data between our main application, and code that executes as part of handling an interrupt event.","breadcrumbs":"What's left for you to explore » Interrupts","id":"149","title":"Interrupts"},"15":{"body":"Dealing with microcontrollers involves several tools as we'll be dealing with an architecture different than your computer's and we'll have to run and debug programs on a \"remote\" device.","breadcrumbs":"Setting up a development environment » Setting up a development environment","id":"15","title":"Setting up a development environment"},"150":{"body":"In a nutshell, PWM is turning on something and then turning it off periodically while keeping some proportion (\"duty cycle\") between the \"on time\" and the \"off time\". When used on a LED with a sufficiently high frequency, this can be used to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, will make the LED much brighter (almost as if it were fully powered). In general, PWM can be used to control how much power is given to some electric device. With proper (power) electronics between a microcontroller and an electrical motor, PWM can be used to control how much power is given to the motor thus it can be used to control its torque and speed. Then you can add an angular position sensor and you got yourself a closed loop controller that can control the position of the motor at different loads.","breadcrumbs":"What's left for you to explore » Pulse Width Modulation (PWM)","id":"150","title":"Pulse Width Modulation (PWM)"},"151":{"body":"We have used the microcontroller pins as digital outputs, to drive LEDs. But these pins can also be configured as digital inputs. As digital inputs, these pins can read the binary state of switches (on/off) or buttons (pressed/not pressed). ( spoilers reading the binary state of switches / buttons is not as straightforward as it sounds ;-)","breadcrumbs":"What's left for you to explore » Digital inputs","id":"151","title":"Digital inputs"},"152":{"body":"There are a lots of digital sensors out there. You can use a protocol like I2C and SPI to read them. But analog sensors also exist! These sensors just output a voltage level that's proportional to the magnitude they are sensing. The ADC peripheral can be use to convert that \"analog\" voltage level, say 1.25 Volts,into a \"digital\" number, say in the [0, 65535] range, that the processor can use in its calculations.","breadcrumbs":"What's left for you to explore » Analog-to-Digital Converters (ADC)","id":"152","title":"Analog-to-Digital Converters (ADC)"},"153":{"body":"As you might expect a DAC is exactly the opposite of ADC. You can write some digital value into a register to produce a voltage in the [0, 3.3V] range (assuming a 3.3V power supply) on some \"analog\" pin. When this analog pin is connected to some appropriate electronics and the register is written to at some constant, fast rate (frequency) with the right values you can produce sounds or even music!","breadcrumbs":"What's left for you to explore » Digital-to-Analog Converters (DAC)","id":"153","title":"Digital-to-Analog Converters (DAC)"},"154":{"body":"This peripheral can be used to track time in \"human format\". Seconds, minutes, hours, days, months and years. This peripheral handles the translation from \"ticks\" to these human friendly units of time. It even handles leap years and Daylight Save Time for you!","breadcrumbs":"What's left for you to explore » Real Time Clock (RTC)","id":"154","title":"Real Time Clock (RTC)"},"155":{"body":"SPI, I2S, SMBUS, CAN, IrDA, Ethernet, USB, Bluetooth, etc. Different applications use different communication protocols. User facing applications usually have an USB connector because USB is an ubiquitous protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN \"buses\". Some digital sensors use SPI, others use I2C and others, SMBUS.","breadcrumbs":"What's left for you to explore » Other communication protocols","id":"155","title":"Other communication protocols"},"156":{"body":"These topics cover items that are not specific to our device, or the hardware on it. Instead, they discuss useful techniques that could be used on embedded systems.","breadcrumbs":"What's left for you to explore » General Embedded-Relevant Topics","id":"156","title":"General Embedded-Relevant Topics"},"157":{"body":"As part of our Punch-o-meter exercise, we used the Accelerometer to measure changes in acceleration in three dimensions. Our board also features a sensor called a Gyroscope, which allows us to measure changes in \"spin\" in three dimensions. This can be very useful when trying to build certain systems, such as a robot that wants to avoid tipping over. Additionally, the data from a sensor like a gyroscope can also be combined with data from accelerometer using a technique called Sensor Fusion (see below for more information).","breadcrumbs":"What's left for you to explore » Gyroscopes","id":"157","title":"Gyroscopes"},"158":{"body":"While some motors are used primarily just to spin in one direction or the other, for example driving a remote control car forwards or backwards, it is sometimes useful to measure more precisely how a motor rotates. Our microcontroller can be used to drive Servo or Stepper motors, which allow for more precise control of how many turns are being made by the motor, or can even position the motor in one specific place, for example if we wanted to move the arms of a clock to a particular direction.","breadcrumbs":"What's left for you to explore » Servo and Stepper Motors","id":"158","title":"Servo and Stepper Motors"},"159":{"body":"The STM32F3DISCOVERY contains three motion sensors: an accelerometer, a gyroscope and a magnetometer. On their own these measure: (proper) acceleration, angular speed and (the Earth's) magnetic field. But these magnitudes can be \"fused\" into something more useful: a \"robust\" measurement of the orientation of the board. Where robust means with less measurement error than a single sensor would be capable of. This idea of deriving more reliable data from different sources is known as sensor fusion. So where to next? There are several options: You could check out the examples in the f3 board support crate. All those examples work for the STM32F3DISCOVERY board you have. You could try out this motion sensors demo . Details about the implementation and source code are available in this blog post . You could check out Real Time for The Masses . A very efficient preemptive multitasking framework that supports task prioritization and dead lock free execution. You could try running Rust on a different development board. The easiest way to get started is to use the cortex-m-quickstart Cargo project template. You could check out this blog post which describes how Rust type system can prevent bugs in I/O configuration. You could check out my blog for miscellaneous topics about embedded development with Rust. You could check out the embedded-hal project which aims to build abstractions (traits) for all the embedded I/O functionality commonly found on microcontrollers. You could join the Weekly driver initiative and help us write generic drivers on top of the embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, etc.)","breadcrumbs":"What's left for you to explore » Sensor fusion","id":"159","title":"Sensor fusion"},"16":{"body":"Tooling is not everything though. Without documentation it is pretty much impossible to work with microcontrollers. We'll be referring to all these documents throughout this book: HEADS UP All these links point to PDF files and some of them are hundreds of pages long and several MBs in size. STM32F3DISCOVERY User Manual STM32F303VC Datasheet STM32F303VC Reference Manual LSM303DLHC * L3GD20 * * NOTE : Newer (from around 2020/09) Discovery boards may have a different e-compass and gyroscope (see the user manual). As such, much in chapters 14-16 will not work as is. Checkout the github issues like this .","breadcrumbs":"Setting up a development environment » Documentation","id":"16","title":"Documentation"},"160":{"body":"","breadcrumbs":"General troubleshooting » General troubleshooting","id":"160","title":"General troubleshooting"},"161":{"body":"","breadcrumbs":"General troubleshooting » OpenOCD problems","id":"161","title":"OpenOCD problems"},"162":{"body":"Symptoms Upon trying to establish a new connection with the device you get an error that looks like this: $ openocd -f (..)\n(..)\nError: open failed\nin procedure 'init'\nin procedure 'ocd_bouncer' Cause The device is not (properly) connected or not the correct ST-LINK interface configuration is used. Fix Linux: Check the USB connection using lsusb. You may not have enough permission to open the device. Try again with sudo. If that works, you can use these instructions to make OpenOCD work without root privilege. You might be using the wrong interface configuration for your ST-LINK. Try interface/stlink-v2.cfg instead of interface/stlink-v2-1.cfg. Windows: You are probably missing the ST-LINK USB driver. Installation instructions here .","breadcrumbs":"General troubleshooting » can't connect to OpenOCD - \"Error: open failed\"","id":"162","title":"can't connect to OpenOCD - \"Error: open failed\""},"163":{"body":"Symptoms Upon trying to establish a new connection with the device you get an error that looks like this: $ openocd -f (..)\n(..)\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 100ms\nInfo : Previous state query failed, trying to reconnect\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 300ms\nInfo : Previous state query failed, trying to reconnect Cause The microcontroller may have get stuck in some tight infinite loop or it may be continuously raising an exception, e.g. the exception handler is raising an exception. Fix Close OpenOCD, if running Press and hold the reset (black) button Launch the OpenOCD command Now, release the reset button","breadcrumbs":"General troubleshooting » can't connect to OpenOCD - \"Polling again in X00ms\"","id":"163","title":"can't connect to OpenOCD - \"Polling again in X00ms\""},"164":{"body":"Symptoms A running OpenOCD session suddenly errors with: # openocd -f (..)\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 100ms\nInfo : Previous state query failed, trying to reconnect\nError: jtag status contains invalid mode value - communication failure\nPolling target stm32f3x.cpu failed, trying to reexamine\nExamination failed, GDB will be halted. Polling again in 300ms\nInfo : Previous state query failed, trying to reconnect Cause The USB connection was lost. Fix Close OpenOCD Disconnect and re-connect the USB cable. Re-launch OpenOCD","breadcrumbs":"General troubleshooting » OpenOCD connection lost - \"Polling again in X00ms\"","id":"164","title":"OpenOCD connection lost - \"Polling again in X00ms\""},"165":{"body":"Symptoms While flashing the device, you get: $ arm-none-eabi-gdb $file\nStart address 0x8000194, load size 31588\nTransfer rate: 22 KB/sec, 5264 bytes/write.\nIgnoring packet error, continuing...\nIgnoring packet error, continuing... Cause Closed itmdump while a program that \"printed\" to the ITM was running. The current GDB session will appear to work normally, just without ITM output but the next GDB session will error with the message that was shown in the previous section. Or, itmdump was called after the monitor tpiu was issued thus making itmdump delete the file / named-pipe that OpenOCD was writing to. Fix Close/kill GDB, OpenOCD and itmdump Remove the file / named-pipe that itmdump was using (for example, itm.txt). Launch OpenOCD Then, launch itmdump Then, launch the GDB session that executes the monitor tpiu command.","breadcrumbs":"General troubleshooting » Can't flash the device - \"Ignoring packet error, continuing...\"","id":"165","title":"Can't flash the device - \"Ignoring packet error, continuing...\""},"166":{"body":"Symptoms Upon trying to establish a new connection with the device you get an error that looks something like this: $ openocd -f (..)\n(..)\nError: couldn't bind telnet to socket: Address already in use Cause One or more of the ports OpenOCD requires access to, 3333, 4444, or 6666, is in use by another process. Each of these ports is used for another aspect: 3333 for gdb, 4444 for telnet, 6666 for remote procedure call (RPC) commands to TCL Fix You can go two routes for fixing this. A) Kill any process that's using one of those ports. B) Specify different ports you know to be free for OpenOCD to use. Solution A Mac: Get a list of processes using ports by running sudo lsof -PiTCP -sTCP:LISTEN Kill the process(es) blocking the key ports by noting their pid(s) and running kill [pid] for each. (Assuming you can confirm they're not running anything mission-critical on your machine!) Solution B All: Send configuration details to OpenOCD when starting it up so that it uses a different port from the default for any of the processes. For example, to do its telnet features on 4441 instead of the default 4444, you would run openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg -c \"telnet_port 4441\" More details on OpenOCD's Configuration Stage can be found in their official docs online .","breadcrumbs":"General troubleshooting » can't connect to OpenOCD - \"Error: couldn't bind [telnet] to socket: Address already in use\"","id":"166","title":"can't connect to OpenOCD - \"Error: couldn't bind [telnet] to socket: Address already in use\""},"167":{"body":"","breadcrumbs":"General troubleshooting » Cargo problems","id":"167","title":"Cargo problems"},"168":{"body":"Symptoms Compiling volatile-register v0.1.2 Compiling rlibc v1.0.0 Compiling r0 v0.1.0\nerror[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error Build failed, waiting for other jobs to finish...\nBuild failed, waiting for other jobs to finish...\nerror: Could not compile `r0`. To learn more, run the command again with --verbose. Cause You are using a toolchain older than nightly-2018-04-08 and forgot to call rustup target add thumbv7em-none-eabihf. Fix Update your nightly and install the thumbv7em-none-eabihf target. $ rustup update nightly $ rustup target add thumbv7em-none-eabihf","breadcrumbs":"General troubleshooting » \"can't find crate for core\"","id":"168","title":"\"can't find crate for core\""},"169":{"body":"Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached to an OpenOCD session.","breadcrumbs":"How to use GDB » How to use GDB","id":"169","title":"How to use GDB"},"17":{"body":"We'll use all the tools listed below. Where a minimum version is not specified, any recent version should work but we have listed the version we have tested. Rust 1.31 or a newer toolchain. Chapter USART requires 1.51 or newer. itmdump >=0.3.1 (cargo install itm). Tested versions: 0.3.1. OpenOCD >=0.8. Tested versions: v0.9.0 and v0.10.0 arm-none-eabi-gdb. Version 7.12 or newer highly recommended. Tested versions: 7.10, 7.11, 7.12 and 8.1 cargo-binutils . Version 0.1.4 or newer. minicom on Linux and macOS. Tested version: 2.7. Readers report that picocom also works but we'll use minicom in this text. PuTTY on Windows. If your computer has Bluetooth functionality and you have the Bluetooth module, you can additionally install these tools to play with the Bluetooth module. All these are optional: Linux, only if you don't have a Bluetooth manager application like Blueman. bluez hcitool rfcomm rfkill macOS / OSX / Windows users only need the default bluetooth manager that ships with their OS. Next, follow OS-agnostic installation instructions for a few of the tools:","breadcrumbs":"Setting up a development environment » Tools","id":"17","title":"Tools"},"170":{"body":"NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!","breadcrumbs":"How to use GDB » General Debugging","id":"170","title":"General Debugging"},"171":{"body":"break $location: Set a breakpoint at a place in your code. The value of $location can include: break *main - Break on the exact address of the function main break *0x080012f2 - Break on the exact memory location 0x080012f2 break 123 - Break on line 123 of the currently displayed file break main.rs:123 - Break on line 123 of the file main.rs info break: Display current breakpoints delete: Delete all breakpoints delete $n: Delete breakpoint $n (n being a number. For example: delete $2) clear: Delete breakpoint at next instruction clear main.rs:$function: Delete breakpoint at entry of $function in main.rs clear main.rs:123: Delete breakpoint on line 123 of main.rs enable: Enable all set breakpoints enable $n: Enable breakpoint $n disable: Disable all set breakpoints disable $n: Disable breakpoint $n","breadcrumbs":"How to use GDB » Dealing with Breakpoints","id":"171","title":"Dealing with Breakpoints"},"172":{"body":"continue: Begin or continue execution of your program next: Execute the next line of your program next $n: Repeat next $n number times nexti: Same as next but with machine instructions instead step: Execute the next line, if the next line includes a call to another function, step into that code step $n: Repeat step $n number times stepi: Same as step but with machine instructions instead jump $location: Resume execution at specified location: jump 123: Resume execution at line 123 jump 0x080012f2: Resume execution at address 0x080012f2","breadcrumbs":"How to use GDB » Controlling Execution","id":"172","title":"Controlling Execution"},"173":{"body":"print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: x: hexadecimal d: signed decimal\nu: unsigned decimal\no: octal\nt: binary\na: address\nc: character\nf: floating point print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010) x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, $u unit size (bytes, halfwords, words, etc), $f any print format defined above x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4 x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing disassemble $location disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction","breadcrumbs":"How to use GDB » Printing Information","id":"173","title":"Printing Information"},"174":{"body":"info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions info functions main: Print names and types of defined functions that contain the word main info address $symbol: Print where $symbol is stored in memory info address GPIOC: Print the memory address of the variable GPIOC info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables ptype $data: Print more detailed information about $data ptype cp: Print detailed type information about the variable cp","breadcrumbs":"How to use GDB » Looking at the Symbol Table","id":"174","title":"Looking at the Symbol Table"},"175":{"body":"backtrace $n: Print trace of $n frames, or omit $n to print all frames backtrace 2: Print trace of first 2 frames frame $n: Select frame with number or address $n, omit $n to display current frame up $n: Select frame $n frames up down $n: Select frame $n frames down info frame $address: Describe frame at $address, omit $address for currently selected frame info args: Print arguments of selected frame info registers $r: Print the value of register $r in selected frame, omit $r for all registers info registers $sp: Print the value of the stack pointer register $sp in the current frame","breadcrumbs":"How to use GDB » Poking around the Program Stack","id":"175","title":"Poking around the Program Stack"},"176":{"body":"monitor reset run: Reset the CPU, starting execution over again monitor reset: Same as above monitor reset init: Reset the CPU, halting execution at the start monitor targets: Display information and state of current target","breadcrumbs":"How to use GDB » Controlling OpenOCD Remotely","id":"176","title":"Controlling OpenOCD Remotely"},"18":{"body":"Install rustup by following the instructions at https://rustup.rs . If you already have rustup installed double check that you are on the stable channel and your stable toolchain is up to date. rustc -V should return a date newer than the one shown below: $ rustc -V\nrustc 1.31.0 (abe02cefd 2018-12-04)","breadcrumbs":"Setting up a development environment » rustc & Cargo","id":"18","title":"rustc & Cargo"},"19":{"body":"cargo install itm Verify the version is >=0.3.1 $ itmdump -V\nitmdump 0.3.1","breadcrumbs":"Setting up a development environment » itmdump","id":"19","title":"itmdump"},"2":{"body":"Beginner friendly. No previous experience with microcontrollers or embedded systems is required. Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the work here. Tool centered. We'll make plenty use of tooling to ease development. \"Real\" debugging, with GDB, and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.","breadcrumbs":"Introduction » Approach","id":"2","title":"Approach"},"20":{"body":"Install llvm-tools rustup component add llvm-tools Install cargo-binutils cargo install cargo-binutils Verify tools are installed Run the following commands at your terminal cargo new test-size cd test-size cargo run cargo size -- --version The results should be something like: ~\n$ cargo new test-size Created binary (application) `test-size` package ~\n$ cd test-size ~/test-size (main)\n$ cargo run Compiling test-size v0.1.0 (~/test-size) Finished dev [unoptimized + debuginfo] target(s) in 0.26s Running `target/debug/test-size`\nHello, world! ~/test-size (main)\n$ cargo size -- --version Finished dev [unoptimized + debuginfo] target(s) in 0.00s\nLLVM (http://llvm.org/): LLVM version 11.0.0-rust-1.50.0-stable Optimized build. Default target: x86_64-unknown-linux-gnu Host CPU: znver2","breadcrumbs":"Setting up a development environment » cargo-binutils","id":"20","title":"cargo-binutils"},"21":{"body":"Now follow the instructions specific to the OS you are using: Linux Windows macOS","breadcrumbs":"Setting up a development environment » OS specific instructions","id":"21","title":"OS specific instructions"},"22":{"body":"Here are the installation commands for a few Linux distributions.","breadcrumbs":"Setting up a development environment » Linux » Linux","id":"22","title":"Linux"},"23":{"body":"","breadcrumbs":"Setting up a development environment » Linux » REQUIRED packages","id":"23","title":"REQUIRED packages"},"24":{"body":"NOTE gdb-multiarch is the GDB command you'll use to debug your ARM Cortex-M programs sudo apt-get install \\ gdb-multiarch \\ minicom \\ openocd","breadcrumbs":"Setting up a development environment » Linux » Ubuntu 18.04 or newer / Debian stretch or newer","id":"24","title":"Ubuntu 18.04 or newer / Debian stretch or newer"},"25":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs sudo apt-get install \\ gdb-arm-none-eabi \\ minicom \\ openocd","breadcrumbs":"Setting up a development environment » Linux » Ubuntu 14.04 and 16.04","id":"25","title":"Ubuntu 14.04 and 16.04"},"26":{"body":"sudo dnf install \\ minicom \\ openocd \\ gdb","breadcrumbs":"Setting up a development environment » Linux » Fedora 23 or newer","id":"26","title":"Fedora 23 or newer"},"27":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs sudo pacman -S \\ arm-none-eabi-gdb \\ minicom \\ openocd","breadcrumbs":"Setting up a development environment » Linux » Arch Linux","id":"27","title":"Arch Linux"},"28":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs For distros that don't have packages for ARM's pre-built toolchain , download the \"Linux 64-bit\" file and put its bin directory on your path. Here's one way to do it: mkdir -p ~/local && cd ~/local tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 Then, use your editor of choice to append to your PATH in the appropriate shell init file (e.g. ~/.zshrc or ~/.bashrc): PATH=$PATH:$HOME/local/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux/bin","breadcrumbs":"Setting up a development environment » Linux » Other distros","id":"28","title":"Other distros"},"29":{"body":"","breadcrumbs":"Setting up a development environment » Linux » Optional packages","id":"29","title":"Optional packages"},"3":{"body":"What's out of scope for this book: Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers and embedded systems. Being a comprehensive text about electric circuit theory or electronics. We'll just cover the minimum required to understand how some devices work. Covering details such as linker scripts and the boot process. For example, we'll use existing tools to help get your code onto your board, but not go into detail about how those tools work. Also I don't intend to port this material to other development boards; this book will make exclusive use of the STM32F3DISCOVERY development board.","breadcrumbs":"Introduction » Non-goals","id":"3","title":"Non-goals"},"30":{"body":"sudo apt-get install \\ bluez \\ rfkill","breadcrumbs":"Setting up a development environment » Linux » Ubuntu / Debian","id":"30","title":"Ubuntu / Debian"},"31":{"body":"sudo dnf install \\ bluez \\ rfkill","breadcrumbs":"Setting up a development environment » Linux » Fedora","id":"31","title":"Fedora"},"32":{"body":"sudo pacman -S \\ bluez \\ bluez-utils \\ rfkill","breadcrumbs":"Setting up a development environment » Linux » Arch Linux","id":"32","title":"Arch Linux"},"33":{"body":"These rules let you use USB devices like the F3 and the Serial module without root privilege, i.e. sudo. Create 99-openocd.rules in /etc/udev/rules.d using the idVendor and idProduct from the lsusb output. For example, connect the STM32F3DISCOVERY to your computer using a USB cable. Be sure to connect the cable to the \"USB ST-LINK\" port, the USB port in the center of the edge of the board. Execute lsusb: lsusb | grep ST-LINK It should result in something like: $ lsusb | grep ST-LINK\nBus 003 Device 003: ID 0483:374b STMicroelectronics ST-LINK/V2.1 So the idVendor is 0483 and idProduct is 374b.","breadcrumbs":"Setting up a development environment » Linux » udev rules","id":"33","title":"udev rules"},"34":{"body":"sudo vi /etc/udev/rules.d/99-openocd.rules With the contents: # STM32F3DISCOVERY - ST-LINK/V2.1\nATTRS{idVendor}==\"0483\", ATTRS{idProduct}==\"374b\", MODE:=\"0666\" For older devices with OPTIONAL USB <-> FT232 based Serial Module Create /etc/udev/rules.d/99-ftdi.rules: sudo vi /etc/udev/rules.d/99-openocd.rules With the contents: # FT232 - USB <-> Serial Converter\nATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"6001\", MODE:=\"0666\"","breadcrumbs":"Setting up a development environment » Linux » Create /etc/udev/rules.d/99-openocd.rules:","id":"34","title":"Create /etc/udev/rules.d/99-openocd.rules:"},"35":{"body":"sudo udevadm control --reload-rules If you had any board plugged to your computer, unplug them and then plug them in again. Now, go to the next section .","breadcrumbs":"Setting up a development environment » Linux » Reload the udev rules with:","id":"35","title":"Reload the udev rules with:"},"36":{"body":"","breadcrumbs":"Setting up a development environment » Windows » Windows","id":"36","title":"Windows"},"37":{"body":"ARM provides .exe installers for Windows. Grab one from here , and follow the instructions. Just before the installation process finishes tick/select the \"Add path to environment variable\" option. Then verify that the tools are in your %PATH%: Verify gcc is installed: arm-none-eabi-gcc -v The results should be something like: (..)\n$ arm-none-eabi-gcc -v\ngcc version 5.4.1 20160919 (release) (..)","breadcrumbs":"Setting up a development environment » Windows » arm-none-eabi-gdb","id":"37","title":"arm-none-eabi-gdb"},"38":{"body":"There's no official binary release of OpenOCD for Windows but there are unofficial releases available here . Grab the 0.10.x zipfile and extract it somewhere in your drive (I recommend C:\\OpenOCD but with the drive letter that makes sense to you) then update your %PATH% environment variable to include the following path: C:\\OpenOCD\\bin (or the path that you used before). Verify OpenOCD is installed and in your %PATH% with: openocd -v The results should be something like: $ openocd -v\nOpen On-Chip Debugger 0.10.0\n(..)","breadcrumbs":"Setting up a development environment » Windows » OpenOCD","id":"38","title":"OpenOCD"},"39":{"body":"Download the latest putty.exe from this site and place it somewhere in your %PATH%.","breadcrumbs":"Setting up a development environment » Windows » PuTTY","id":"39","title":"PuTTY"},"4":{"body":"The source of this book is in this repository . If you encounter any typo or problem with the code report it on the issue tracker .","breadcrumbs":"Introduction » Reporting problems","id":"4","title":"Reporting problems"},"40":{"body":"You'll also need to install this USB driver or OpenOCD won't work. Follow the installer instructions and make sure you install the right (32-bit or 64-bit) version of the driver. That's all! Go to the next section .","breadcrumbs":"Setting up a development environment » Windows » ST-LINK USB driver","id":"40","title":"ST-LINK USB driver"},"41":{"body":"All the tools can be installed using Homebrew : $ # ARM GCC debugger\n$ brew install arm-none-eabi-gdb $ # Minicom and OpenOCD\n$ brew install minicom openocd That's all! Go to the next section .","breadcrumbs":"Setting up a development environment » macOS » macOS","id":"41","title":"macOS"},"42":{"body":"Let's verify that all the tools were installed correctly.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify the installation","id":"42","title":"Verify the installation"},"43":{"body":"","breadcrumbs":"Setting up a development environment » Verify the installation » Linux only","id":"43","title":"Linux only"},"44":{"body":"Connect the STM32F3DISCOVERY to your computer using an USB cable. Be sure to connect the cable to the \"USB ST-LINK\" port, the USB port in the center of the edge of the board. The STM32F3DISCOVERY should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got enumerated: lsusb | grep -i stm This should result in: $ lsusb | grep -i stm\nBus 003 Device 004: ID 0483:374b STMicroelectronics ST-LINK/V2.1\n$ # ^^^ ^^^ In my case, the STM32F3DISCOVERY got connected to the bus #3 and got enumerated as the device #4. This means the file /dev/bus/usb/003/004 is the STM32F3DISCOVERY. Let's check its permissions: $ ls -la /dev/bus/usb/003/004\ncrw-rw-rw-+ 1 root root 189, 259 Feb 28 13:32 /dev/bus/usb/003/00 The permissions should be crw-rw-rw-. If it's not ... then check your udev rules and try re-loading them with: sudo udevadm control --reload-rules For older devices with OPTIONAL USB <-> FT232 based Serial Module Unplug the STM32F3DISCOVERY and plug the Serial module. Now, figure out what's its associated file: $ lsusb | grep -i ft232\nBus 003 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC In my case, it's the /dev/bus/usb/003/005. Now, check its permissions: $ ls -l /dev/bus/usb/003/005\ncrw-rw-rw- 1 root root 189, 21 Sep 13 00:00 /dev/bus/usb/003/005 As before, the permissions should be crw-rw-rw-.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify permissions","id":"44","title":"Verify permissions"},"45":{"body":"Connect the STM32F3DISCOVERY using the USB cable to the USB port in the center of edge of the board, the one that's labeled \"USB ST-LINK\". Two red LEDs should turn on right after connecting the USB cable to the board. IMPORTANT There is more than one hardware revision of the STM32F3DISCOVERY board. For older revisions, you'll need to change the \"interface\" argument to -f interface/stlink-v2.cfg (note: no -1 at the end). Alternatively, older revisions can use -f board/stm32f3discovery.cfg instead of -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg. NOTE OpenOCD v0.11.0 has deprecated interface/stlink-v2.cfg in favor of interface/stlink.cfg which supports ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, and ST-LINK/V3.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify OpenOCD connection","id":"45","title":"Verify OpenOCD connection"},"46":{"body":"FYI: The interface directory is typically located in /usr/share/openocd/scripts/, which is the default location OpenOCD expects these files. If you've installed them somewhere else use the -s /path/to/scripts/ option to specify your install directory. openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg or openocd -f interface/stlink.cfg -f target/stm32f3x.cfg","breadcrumbs":"Setting up a development environment » Verify the installation » *Nix","id":"46","title":"*Nix"},"47":{"body":"Below the references to C:\\OpenOCD is the directory where OpenOCD is installed. openocd -s C:\\OpenOCD\\share\\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg NOTE cygwin users have reported problems with the -s flag. If you run into that problem you can add C:\\OpenOCD\\share\\scripts\\ directory to the parameters. cygwin users: openocd -f C:\\OpenOCD\\share\\scripts\\interface\\stlink-v2-1.cfg -f C:\\OpenOCD\\share\\scripts\\target\\stm32f3x.cfg","breadcrumbs":"Setting up a development environment » Verify the installation » Windows","id":"47","title":"Windows"},"48":{"body":"OpenOCD is a service which forwards debug information from the ITM channel to a file, itm.txt, as such it runs forever and does not return to the terminal prompt. The initial output of OpenOCD is something like: Open On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read http://openocd.org/doc/doxygen/bugs.html\nInfo : auto-selecting first available session transport \"hla_swd\". To override use 'transport select '.\nadapter speed: 1000 kHz\nadapter_nsrst_delay: 100\nInfo : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD\nnone separate\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : clock speed 950 kHz\nInfo : STLINK v2 JTAG v27 API v2 SWIM v15 VID 0x0483 PID 0x374B\nInfo : using stlink api v2\nInfo : Target voltage: 2.915608\nInfo : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints (If you don't ... then check the general troubleshooting instructions.) Also, one of the red LEDs, the one closest to the USB port, should start oscillating between red light and green light. That's it! It works. You can now use Ctrl-c to stop OpenOCD or close/kill the terminal.","breadcrumbs":"Setting up a development environment » Verify the installation » All","id":"48","title":"All"},"49":{"body":"Let's get familiar with the hardware we'll be working with.","breadcrumbs":"Meet your hardware » Meet your hardware","id":"49","title":"Meet your hardware"},"5":{"body":"This Discovery book is just one of several embedded Rust resources provided by the Embedded Working Group . The full selection can be found at The Embedded Rust Bookshelf . This includes the list of Frequently Asked Questions .","breadcrumbs":"Introduction » Other embedded Rust resources","id":"5","title":"Other embedded Rust resources"},"50":{"body":"We'll refer to this board as \"F3\" throughout this book. Here are some of the many components on the board: A microcontroller . A number of LEDs, including the eight aligned in a \"compass\" formation. Two buttons. Two USB ports. An accelerometer . A magnetometer . A gyroscope . Of these components, the most important is the microcontroller (sometimes shortened to \"MCU\" for \"microcontroller unit\"), which is the large black square sitting in the center of your board. The MCU is what runs your code. You might sometimes read about \"programming a board\", when in reality what we are doing is programming the MCU that is installed on the board.","breadcrumbs":"Meet your hardware » STM32F3DISCOVERY (the \"F3\")","id":"50","title":"STM32F3DISCOVERY (the \"F3\")"},"51":{"body":"Since the MCU is so important, let's take a closer look at the one sitting on our board. Our MCU is surrounded by 100 tiny metal pins . These pins are connected to traces , the little \"roads\" that act as the wires connecting components together on the board. The MCU can dynamically alter the electrical properties of the pins. This works similar to a light switch altering how electrical current flows through a circuit. By enabling or disabling electrical current to flow through a specific pin, an LED attached to that pin (via the traces) can be turned on and off. Each manufacturer uses a different part numbering scheme, but many will allow you to determine information about a component simply by looking at the part number. Looking at our MCU's part number (STM32F303VCT6), the ST at the front hints to us that this is a part manufactured by ST Microelectronics . Searching through ST's marketing materials we can also learn the following: The M32 represents that this is an Arm®-based 32-bit microcontroller. The F3 represents that the MCU is from ST's \"STM32F3\" series. This is a series of MCUs based on the Cortex®-M4 processor design. The remainder of the part number goes into more details about things like extra features and RAM size, which at this point we're less concerned about.","breadcrumbs":"Meet your hardware » STM32F303VCT6 (the \"STM32F3\")","id":"51","title":"STM32F303VCT6 (the \"STM32F3\")"},"52":{"body":"If our chip is manufactured by ST, then who is Arm? And if our chip is the STM32F3, what is the Cortex-M4? You might be surprised to hear that while \"Arm-based\" chips are quite popular, the company behind the \"Arm\" trademark ( Arm Holdings ) doesn't actually manufacture chips for purchase. Instead, their primary business model is to just design parts of chips. They will then license those designs to manufacturers, who will in turn implement the designs (perhaps with some of their own tweaks) in the form of physical hardware that can then be sold. Arm's strategy here is different from companies like Intel, which both designs and manufactures their chips. Arm licenses a bunch of different designs. Their \"Cortex-M\" family of designs are mainly used as the core in microcontrollers. For example, the Cortex-M0 is designed for low cost and low power usage. The Cortex-M7 is higher cost, but with more features and performance. The core of our STM32F3 is based on the Cortex-M4, which is in the middle: more features and performance than the Cortex-M0, but less expensive than the Cortex-M7. Luckily, you don't need to know too much about different types of processors or Cortex designs for the sake of this book. However, you are hopefully now a bit more knowledgeable about the terminology of your device. While you are working specifically with an STM32F3, you might find yourself reading documentation and using tools for Cortex-M-based chips, as the STM32F3 is based on a Cortex-M design.","breadcrumbs":"Meet your hardware » Arm? Cortex-M4?","id":"52","title":"Arm? Cortex-M4?"},"53":{"body":"If you have an older revision of the discovery board, you can use this module to exchange data between the microcontroller in the F3 and your computer. This module will be connected to your computer using an USB cable. I won't say more at this point. If you have a newer release of the board then you don't need this module. The ST-LINK will double as a USB<->serial converter connected to the microcontroller USART1 at pins PC4 and PC5.","breadcrumbs":"Meet your hardware » The Serial module","id":"53","title":"The Serial module"},"54":{"body":"This module has the exact same purpose as the serial module but it sends the data over Bluetooth instead of over USB.","breadcrumbs":"Meet your hardware » The Bluetooth module","id":"54","title":"The Bluetooth module"},"55":{"body":"Alright, let's start by building the following application: I'm going to give you a high level API to implement this app but don't worry we'll do low level stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging process. Throughout this text we'll be using the starter code that's in the discovery repository. Make sure you always have the latest version of the master branch because this website tracks that branch. The starter code is in the src directory of that repository. Inside that directory there are more directories named after each chapter of this book. Most of those directories are starter Cargo projects. Now, jump into the src/05-led-roulette directory. Check the src/main.rs file: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux5::entry; #[entry]\nfn main() -> ! { let _y; let x = 42; _y = x; // infinite loop; just so we don't leave this stack frame loop {}\n} Microcontroller programs are different from standard programs in two aspects: #![no_std] and #![no_main]. The no_std attribute says that this program won't use the std crate, which assumes an underlying OS; the program will instead use the core crate, a subset of std that can run on bare metal systems (i.e., systems without OS abstractions like files and sockets). The no_main attribute says that this program won't use the standard main interface, which is tailored for command line applications that receive arguments. Instead of the standard main we'll use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this program we have named the entry point \"main\", but any other name could have been used. The entry point function must have the signature fn() -> !; this type indicates that the function can't return – this means that the program never terminates. If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the linking process to tailor the memory layout of the program to the requirements of the target device. This modified linking process is a requirement of the cortex-m-rt crate. You'll also be making further tweaks to .cargo/config in future sections to make building and debugging easier. Alright, let's start by building this program.","breadcrumbs":"LED roulette » LED roulette","id":"55","title":"LED roulette"},"56":{"body":"The first step is to build our \"binary\" crate. Because the microcontroller has a different architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the argument of that flag: the name of the target. The microcontroller in the F3 has a Cortex-M4F processor in it. rustc knows how to cross compile to the Cortex-M architecture and provides 4 different targets that cover the different processor families within that architecture: thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors thumbv7m-none-eabi, for the Cortex-M3 processor thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors thumbv7em-none-eabihf, for the Cortex-M4 F and Cortex-M7 F processors For the F3, we'll use the thumbv7em-none-eabihf target. Before cross compiling you have to download a pre-compiled version of the standard library (a reduced version of it actually) for your target. That's done using rustup: rustup target add thumbv7em-none-eabihf You only need to do the above step once; rustup will re-install a new standard library (rust-std component) whenever you update your toolchain. With the rust-std component in place you can now cross compile the program using Cargo. NOTE Make sure you are in the src/05-led-roulette directory and run cargo build command below to create the executable: cargo build --target thumbv7em-none-eabihf On your console you should see something like: $ cargo build --target thumbv7em-none-eabihf Compiling typenum v1.12.0 Compiling semver-parser v0.7.0 Compiling version_check v0.9.2 Compiling nb v1.0.0 Compiling void v1.0.2 Compiling autocfg v1.0.1 Compiling cortex-m v0.7.1 Compiling proc-macro2 v1.0.24 Compiling vcell v0.1.3 Compiling unicode-xid v0.2.1 Compiling stable_deref_trait v1.2.0 Compiling syn v1.0.60 Compiling bitfield v0.13.2 Compiling cortex-m v0.6.7 Compiling cortex-m-rt v0.6.13 Compiling r0 v0.2.2 Compiling stm32-usbd v0.5.1 Compiling stm32f3 v0.12.1 Compiling usb-device v0.2.7 Compiling cfg-if v1.0.0 Compiling paste v1.0.4 Compiling stm32f3-discovery v0.6.0 Compiling embedded-dma v0.1.2 Compiling volatile-register v0.2.0 Compiling nb v0.1.3 Compiling embedded-hal v0.2.4 Compiling semver v0.9.0 Compiling generic-array v0.14.4 Compiling switch-hal v0.3.2 Compiling num-traits v0.2.14 Compiling num-integer v0.1.44 Compiling rustc_version v0.2.3 Compiling bare-metal v0.2.5 Compiling cast v0.2.3 Compiling quote v1.0.9 Compiling generic-array v0.13.2 Compiling generic-array v0.12.3 Compiling generic-array v0.11.1 Compiling panic-itm v0.4.2 Compiling lsm303dlhc v0.2.0 Compiling as-slice v0.1.4 Compiling micromath v1.1.0 Compiling accelerometer v0.12.0 Compiling chrono v0.4.19 Compiling aligned v0.3.4 Compiling rtcc v0.2.0 Compiling cortex-m-rt-macros v0.1.8 Compiling stm32f3xx-hal v0.6.1 Compiling aux5 v0.2.0 (~/embedded-discovery/src/05-led-roulette/auxiliary) Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette) Finished dev [unoptimized + debuginfo] target(s) in 17.91s NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml file and build command above will ensure optimizations are off. OK, now we have produced an executable. This executable won't blink any LEDs, it's just a simplified version that we will build upon later in the chapter. As a sanity check, let's verify that the produced executable is actually an ARM binary: cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header The cargo readobj .. above is equivalent to readelf -h target/thumbv7em-none-eabihf/debug/led-roulette and should produce something similar to: $ cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: ARM Version: 0x1 Entry point address: 0x8000195 Start of program headers: 52 (bytes into file) Start of section headers: 818328 (bytes into file) Flags: 0x5000400 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 4 Size of section headers: 40 (bytes) Number of section headers: 22 Section header string table index: 20 Next, we'll flash the program into our microcontroller.","breadcrumbs":"LED roulette » Build it » Build it","id":"56","title":"Build it"},"57":{"body":"Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once flashed, the microcontroller will execute the flashed program every time it is powered on. In this case, our led-roulette program will be the only program in the microcontroller memory. By this I mean that there's nothing else running on the microcontroller: no OS, no \"daemon\", nothing. led-roulette has full control over the device. Onto the actual flashing. First thing we need to do is launch OpenOCD. We did that in the previous section but this time we'll run the command inside a temporary directory (/tmp on *nix; %TEMP% on Windows). Make sure the F3 is connected to your computer and run the following commands in a new terminal .","breadcrumbs":"LED roulette » Flash it » Flash it","id":"57","title":"Flash it"},"58":{"body":"cd /tmp\nopenocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg","breadcrumbs":"LED roulette » Flash it » For *nix & MacOS:","id":"58","title":"For *nix & MacOS:"},"59":{"body":"cd %TEMP%\nopenocd -s C:\\share\\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg NOTE Older revisions of the board need to pass slightly different arguments to openocd. Review this section for the details. The program will block; leave that terminal open. Now it's a good time to explain what the openocd command is actually doing. I mentioned that the STM32F3DISCOVERY (aka F3) actually has two microcontrollers. One of them is used as a programmer/debugger. The part of the board that's used as a programmer is called ST-LINK (that's what STMicroelectronics decided to call it). This ST-LINK is connected to the target microcontroller using a Serial Wire Debug (SWD) interface (this interface is an ARM standard so you'll run into it when dealing with other Cortex-M based microcontrollers). This SWD interface can be used to flash and debug a microcontroller. The ST-LINK is connected to the \"USB ST-LINK\" port and will appear as a USB device when you connect the F3 to your computer. As for OpenOCD, it's software that provides some services like a GDB server on top of USB devices that expose a debugging protocol like SWD or JTAG. Onto the actual command: those .cfg files we are using instruct OpenOCD to look for a ST-LINK USB device (interface/stlink-v2-1.cfg) and to expect a STM32F3XX microcontroller (target/stm32f3x.cfg) to be connected to the ST-LINK. The OpenOCD output looks like this: $ openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg\nOpen On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read http://openocd.org/doc/doxygen/bugs.html\nInfo : auto-selecting first available session transport \"hla_swd\". To override use 'transport select '.\nadapter speed: 1000 kHz\nadapter_nsrst_delay: 100\nInfo : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD\nnone separate\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : Unable to match requested speed 1000 kHz, using 950 kHz\nInfo : clock speed 950 kHz\nInfo : STLINK v2 JTAG v37 API v2 SWIM v26 VID 0x0483 PID 0x374B\nInfo : using stlink api v2\nInfo : Target voltage: 2.888183\nInfo : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints The \"6 breakpoints, 4 watchpoints\" part indicates the debugging features the processor has available. Leave that openocd process running, and in the previous terminal or a new terminal make sure that you are inside the project's src/05-led-roulette/ directory . I mentioned that OpenOCD provides a GDB server so let's connect to that right now:","breadcrumbs":"LED roulette » Flash it » For Windows Note : substitute C: for the actual OpenOCD path:","id":"59","title":"For Windows Note : substitute C: for the actual OpenOCD path:"},"6":{"body":"Many thanks to integer 32 for sponsoring me to work on this book! Please give them lots of work (they do Rust consulting!) so they'll have no choice but to hire more Rustaceans <3.","breadcrumbs":"Introduction » Sponsored by","id":"6","title":"Sponsored by"},"60":{"body":"First, we need to determine what version of gdb you have that is capable of debugging ARM binaries. This could be any one of the commands below, try each one: arm-none-eabi-gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette gdb-multiarch -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette NOTE : If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory error, try adding ../../ to the file path, for example: $ gdb -q -ex \"target remote :3333\" ../../target/thumbv7em-none-eabihf/debug/led-roulette This is caused by each example project being in a workspace that contains the entire book, and workspaces have a single target directory. Check out [Workspaces chapter in Rust Book] for more.","breadcrumbs":"LED roulette » Flash it » Execute GDB","id":"60","title":"Execute GDB"},"61":{"body":"You can detect a failing case if there is a warning or error after the Remote debugging using :3333 line: $ gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette\nReading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...\nRemote debugging using :3333\nwarning: Architecture rejected target-supplied description\nTruncated register 16 in remote 'g' packet\n(gdb)","breadcrumbs":"LED roulette » Flash it » Failing case","id":"61","title":"Failing case"},"62":{"body":"Successful case 1: $ arm-none-eabi-gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette\nReading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...\nRemote debugging using :3333\ncortex_m_rt::Reset () at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:497\n497 pub unsafe extern \"C\" fn Reset() -> ! {\n(gdb) Successful case 2: ~/embedded-discovery/src/05-led-roulette (master)\n$ arm-none-eabi-gdb -q -ex \"target remote :3333\" target/thumbv7em-none-eabihf/debug/led-roulette\nReading symbols from target/thumbv7em-none-eabihf/debug/led-roulette...\nRemote debugging using :3333\n0x00000000 in ?? ()\n(gdb) In both failing and successful cases you should see new output in the OpenOCD terminal , something like the following: Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints\n+Info : accepting 'gdb' connection on tcp/3333\n+Info : device id = 0x10036422\n+Info : flash size = 256kbytes NOTE If you are getting an error like undefined debug reason 7 - target needs reset, you can try running monitor reset halt as described here . By default OpenOCD's GDB server listens on TCP port 3333 (localhost). This command is connecting to that port.","breadcrumbs":"LED roulette » Flash it » Successful case","id":"62","title":"Successful case"},"63":{"body":"Now that you've successfully determined which debugger you need to use we need to change ../.cargo/config.toml so that the cargo run command will succeed. NOTE cargo is the Rust package manager and you can read about it here . Get back to the terminal prompt and look at ../.cargo/config.toml: ~/embedded-discovery/src/05-led-roulette\n$ cat ../.cargo/config.toml\n# default runner starts a GDB sesssion, which requires OpenOCD to be\n# running, e.g.,\n## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg\n# depending on your local GDB, pick one of the following\n[target.thumbv7em-none-eabihf]\nrunner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n# runner = \"gdb-multiarch -q -x ../openocd.gdb\"\n# runner = \"gdb -q -x ../openocd.gdb\"\nrustflags = [ \"-C\", \"link-arg=-Tlink.x\",\n] [build]\ntarget = \"thumbv7em-none-eabihf\" Use your favorite editor to edit ../.cargo/config.toml so that the runner line contains the correct name of that debugger: nano ../.cargo/config.toml For example, if your debugger was gdb-multiarch then after editing the git diff should be: $ git diff ../.cargo/config.toml\ndiff --git a/f3discovery/src/.cargo/config.toml b/f3discovery/src/.cargo/config.toml\nindex 2f38f6b..95860a0 100644\n--- a/f3discovery/src/.cargo/config.toml\n+++ b/f3discovery/src/.cargo/config.toml\n@@ -3,8 +3,8 @@ ## openocd -f interface/stlink.cfg -f target/stm32f3x.cfg # depending on your local GDB, pick one of the following [target.thumbv7em-none-eabihf]\n-runner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n-# runner = \"gdb-multiarch -q -x ../openocd.gdb\"\n+# runner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n+runner = \"gdb-multiarch -q -x ../openocd.gdb\" # runner = \"gdb -q -x ../openocd.gdb\" rustflags = [ \"-C\", \"link-arg=-Tlink.x\", Now that you have ../.cargo/config.toml setup let's test it using cargo run to start the debug session. NOTE The --target thumbv7em-none-eabihf defines which architecture to build and run. In our ../.cargo/config.toml file we have target = \"thumbv7em-none-eabihf\" so it is actually not necessary to specify --target we do it here just so you know that parameters on the command line can be used and they override those in config.toml files. cargo run --target thumbv7em-none-eabihf Results in: ~/embedded-discovery/src/05-led-roulette\n$ cargo run --target thumbv7em-none-eabihf Finished dev [unoptimized + debuginfo] target(s) in 0.14s Running `gdb-multiarch -q -x ../openocd.gdb /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from /home/adam/vc/rust-training/discovery/f3discovery/target/thumbv7em-none-eabihf/debug/led-roulette...\n0x08000230 in core::fmt::Arguments::new_v1 (pieces=..., args=...) at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs:394\n394\t/rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs: No such file or directory.\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x1ad8 lma 0x8000194\nLoading section .rodata, size 0x5a4 lma 0x8001c6c\nStart address 0x08000194, load size 8720\nTransfer rate: 12 KB/sec, 2906 bytes/write.\nBreakpoint 1 at 0x80001e8: file src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses.\nBreakpoint 2 at 0x800020a: file src/lib.rs, line 570.\nBreakpoint 3 at 0x8001c5a: file src/lib.rs, line 560. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7\n7\t#[entry]\nhalted: PC: 0x080001ee\nled_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10\n10 let x = 42; Bravo, we will be modifying ../.cargo/config.toml in future. But , since this file is shared with all of the chapters those changes should be made with that in mind. If you want or we need to make changes that only pertain to a particular chapter then create a .cargo/config.toml local to that chapter directory.","breadcrumbs":"LED roulette » Flash it » Update ../.cargo/config.toml","id":"63","title":"Update ../.cargo/config.toml"},"64":{"body":"Assuming you have GDB running, if not start it as suggested in the previous section. NOTE The -x ../openocd.gdb arguments to gdb is already setup to flash the device, so explicitly flashing the project code to the device is normally handled with a simple cargo run. We'll cover the openocd configuration script in the next section. Now use the load command in gdb to actually flash the program into the device: (gdb) load\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x20ec lma 0x8000194\nLoading section .rodata, size 0x514 lma 0x8002280\nStart address 0x08000194, load size 10132\nTransfer rate: 17 KB/sec, 3377 bytes/write. You'll also see new output in the OpenOCD terminal, something like: Info : flash size = 256kbytes\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+adapter speed: 950 kHz\n+target halted due to debug-request, current mode: Thread\n+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000\n+Info : Unable to match requested speed 8000 kHz, using 4000 kHz\n+Info : Unable to match requested speed 8000 kHz, using 4000 kHz\n+adapter speed: 4000 kHz\n+target halted due to breakpoint, current mode: Thread\n+xPSR: 0x61000000 pc: 0x2000003a msp: 0x2000a000\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+Info : Unable to match requested speed 1000 kHz, using 950 kHz\n+adapter speed: 950 kHz\n+target halted due to debug-request, current mode: Thread\n+xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000 Our program is loaded, let's debug it!","breadcrumbs":"LED roulette » Flash it » Flash the device","id":"64","title":"Flash the device"},"65":{"body":"We are already inside a debugging session so let's debug our program. After the load command, our program is stopped at its entry point . This is indicated by the \"Start address 0x8000XXX\" part of GDB's output. The entry point is the part of a program that a processor / CPU will execute first. The starter project I've provided to you has some extra code that runs before the main function. At this time, we are not interested in that \"pre-main\" part so let's skip right to the beginning of the main function. We'll do that using a breakpoint. Issue break main at the (gdb) prompt: NOTE For these GDB commands I generally won't provide a copyable code block as these are short and it's faster just to type them yourself. In addition most can be shortened. For instance b for break or s for step, see GDB Quick Reference for more info or use Google to find your others. In addition, you can use tab completion by typing the first few letters than one tab to complete or two tabs to see all possible commands. Finally, help xxxx where xxxx is the command will provide short names and other info: (gdb) help s\nstep, s\nStep program until it reaches a different source line.\nUsage: step [N]\nArgument N means step N times (or till program stops for another reason). (gdb) break main\nBreakpoint 1 at 0x80001f0: file src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses. Next issue a continue command: (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7\n7 #[entry] Breakpoints can be used to stop the normal flow of a program. The continue command will let the program run freely until it reaches a breakpoint. In this case, until it reaches #[entry] which is a trampoline to the main function and where break main sets the breakpoint. Note that GDB output says \"Breakpoint 1\". Remember that our processor can only use six of these breakpoints so it's a good idea to pay attention to these messages. OK. Since we are stopped at #[entry] and using the disassemble /m we see the code for entry, which is a trampoline to main. That means it sets up the stack and then invokes a subroutine call to the main function using an ARM branch and link instruction, bl. (gdb) disassemble /m\nDump of assembler code for function main:\n7 #[entry] 0x080001ec <+0>: push {r7, lr} 0x080001ee <+2>: mov r7, sp\n=> 0x080001f0 <+4>: bl 0x80001f6 <_ZN12led_roulette18__cortex_m_rt_main17he61ef18c060014a5E> 0x080001f4 <+8>: udf #254 ; 0xfe End of assembler dump. Next we need to issue a step GDB command which will advance the program statement by statement stepping into functions/procedures. So after this first step command we're inside main and are positioned at the first executable rust statement, line 10, but it is not executed: (gdb) step\nled_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:10\n10 let x = 42; Next we'll issue a second step which executes line 10 and stops at line 11 _y = x;, again line 11 is not executed. NOTE We could have pressed enter at the second (gdb) prompt and it would have reissued the previous statement, step, but for clarity in this tutorial we'll generally retype the command. (gdb) step\n11 _y = x; As you can see, in this mode, on each step command GDB will print the current statement along with its line number. As you'll see later in the TUI mode you'll not see the statement in the command area. We are now \"on\" the _y = x statement; that statement hasn't been executed yet. This means that x is initialized but _y is not. Let's inspect those stack/local variables using the print command, p for short: (gdb) print x\n$1 = 42\n(gdb) p &x\n$2 = (*mut i32) 0x20009fe0\n(gdb) p _y\n$3 = 536870912\n(gdb) p &_y\n$4 = (*mut i32) 0x20009fe4 As expected, x contains the value 42. _y, however, contains the value 536870912 (?). This is because _y has not been initialized yet, it contains some garbage value. The command print &x prints the address of the variable x. The interesting bit here is that GDB output shows the type of the reference: *mut i32, a mutable pointer to an i32 value. Another interesting thing is that the addresses of x and _y are very close to each other: their addresses are just 4 bytes apart. Instead of printing the local variables one by one, you can also use the info locals command: (gdb) info locals\nx = 42\n_y = 536870912 OK. With another step, we'll be on top of the loop {} statement: (gdb) step\n14 loop {} And _y should now be initialized. (gdb) print _y\n$5 = 42 If we use step again on top of the loop {} statement, we'll get stuck because the program will never pass that statement. NOTE If you used the step or any other command by mistake and GDB gets stuck, you can get it unstuck by hitting Ctrl+C. As introduced above the disassemble /m command can be used to disassemble the program around the line you are currently at. You might also want to set print asm-demangle on so the names are demangled, this only needs to be done once a debug session. Later this and other commands will be placed in an initialization file which will simplify starting a debug session. (gdb) set print asm-demangle on\n(gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:\n8 fn main() -> ! { 0x080001f6 <+0>: sub sp, #8 0x080001f8 <+2>: movs r0, #42 ; 0x2a 9 let _y;\n10 let x = 42; 0x080001fa <+4>: str r0, [sp, #0] 11 _y = x; 0x080001fc <+6>: str r0, [sp, #4] 12\n13 // infinite loop; just so we don't leave this stack frame\n14 loop {}\n=> 0x080001fe <+8>: b.n 0x8000200 0x08000200 <+10>: b.n 0x8000200 End of assembler dump. See the fat arrow => on the left side? It shows the instruction the processor will execute next. Also, as mentioned above if you were to execute the step command GDB gets stuck because it is executing a branch instruction to itself and never gets past it. So you need to use Ctrl+C to regain control. An alternative is to use the stepi(si) GDB command, which steps one asm instruction, and GDB will print the address and line number of the statement the processor will execute next and it won't get stuck. (gdb) stepi\n0x08000194 14 loop {} (gdb) si\n0x08000194 14 loop {} One last trick before we move to something more interesting. Enter the following commands into GDB: (gdb) monitor reset halt\nUnable to match requested speed 1000 kHz, using 950 kHz\nUnable to match requested speed 1000 kHz, using 950 kHz\nadapter speed: 950 kHz\ntarget halted due to debug-request, current mode: Thread\nxPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000 (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7\n7 #[entry] (gdb) disassemble /m\nDump of assembler code for function main:\n7 #[entry] 0x080001ec <+0>: push {r7, lr} 0x080001ee <+2>: mov r7, sp\n=> 0x080001f0 <+4>: bl 0x80001f6 0x080001f4 <+8>: udf #254 ; 0xfe End of assembler dump. We are now back at the beginning of #[entry]! monitor reset halt will reset the microcontroller and stop it right at the beginning of the program. The continue command will then let the program run freely until it reaches a breakpoint, in this case it is the breakpoint at #[entry]. This combo is handy when you, by mistake, skipped over a part of the program that you were interested in inspecting. You can easily roll back the state of your program back to its very beginning. The fine print : This reset command doesn't clear or touch RAM. That memory will retain its values from the previous run. That shouldn't be a problem though, unless your program behavior depends of the value of uninitialized variables but that's the definition of Undefined Behavior (UB). We are done with this debug session. You can end it with the quit command. (gdb) quit\nA debugging session is active. Inferior 1 [Remote target] will be detached. Quit anyway? (y or n) y\nDetaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target\nEnding remote debugging. For a nicer debugging experience, you can use GDB's Text User Interface (TUI). To enter into that mode enter one of the following commands in the GDB shell: (gdb) layout src\n(gdb) layout asm\n(gdb) layout split NOTE Apologies to Windows users, the GDB shipped with the GNU ARM Embedded Toolchain may not support this TUI mode :-(. Below is an example of setting up for a layout split by executing the follow commands. As you can see we've dropped passing the --target parameter: $ cargo run\n(gdb) target remote :3333\n(gdb) load\n(gdb) set print asm-demangle on\n(gdb) set style sources off\n(gdb) break main\n(gdb) continue Here is a command line with the above commands as -ex parameters to save you some typing, shortly we'll be providing an easier way to execute the initial set of commands: cargo run -- -q -ex 'target remote :3333' -ex 'load' -ex 'set print asm-demangle on' -ex 'set style sources off' -ex 'b main' -ex 'c' target/thumbv7em-none-eabihf/debug/led-roulette And below is the result: GDB session layout split Now we'll scroll the top source window down so we see the entire file and execute layout split and then step: GDB session layout split Then we'll execute a few info locals and step's: (gdb) info locals\n(gdb) step\n(gdb) info locals\n(gdb) step\n(gdb) info locals GDB session layout split At any point you can leave the TUI mode using the following command: (gdb) tui disable GDB session layout split NOTE If the default GDB CLI is not to your liking check out gdb-dashboard . It uses Python to turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view and other things. Don't close OpenOCD though! We'll use it again and again later on. It's better just to leave it running. If you want to learn more about what GDB can do, check out the section How to use GDB . What's next? The high level API I promised.","breadcrumbs":"LED roulette » Debug it » Debug it","id":"65","title":"Debug it"},"66":{"body":"Now, I'm going to introduce two high level abstractions that we'll use to implement the LED roulette application. The auxiliary crate, aux5, exposes an initialization function called init. When called this function returns two values packed in a tuple: a Delay value and a LedArray value. Delay can be used to block your program for a specified amount of milliseconds. LedArray is an array of eight Leds. Each Led represents one of the LEDs on the F3 board, and exposes two methods: on and off which can be used to turn the LED on or off, respectively. Let's try out these two abstractions by modifying the starter code to look like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux5::{entry, Delay, DelayMs, LedArray, OutputSwitch}; #[entry]\nfn main() -> ! { let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); let half_period = 500_u16; loop { leds[0].on().ok(); delay.delay_ms(half_period); leds[0].off().ok(); delay.delay_ms(half_period); }\n} Now build it: cargo build NOTE : It's possible to forget to rebuild the program before starting a GDB session; this omission can lead to very confusing debug sessions. To avoid this problem you can call just cargo run instead of cargo build. The cargo run command will build and start a debug session ensuring you never forget to recompile your program. Now we'll run and repeat the flashing procedure as we did in the previous section but with the new program. I'll let you type in the cargo run, this will get easier shortly . :) NOTE : Don't forget to start openocd (debugger) on a separate terminal. Otherwise target remote :3333 won't work! $ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette... (gdb) target remote :3333\nRemote debugging using :3333\nled_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry] (gdb) load\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x52c0 lma 0x8000194\nLoading section .rodata, size 0xb50 lma 0x8005454\nStart address 0x08000194, load size 24484\nTransfer rate: 21 KB/sec, 6121 bytes/write. (gdb) break main\nBreakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses. (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry] (gdb) step\nled_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9\n9 let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); (gdb) OK. Let's step through the code. This time, we'll use the next command instead of step. The difference is that the next command will step over function calls instead of going inside them. (gdb) next\n11 let half_period = 500_u16; (gdb) next\n13 loop { (gdb) next\n14 leds[0].on().ok(); (gdb) next\n15 delay.delay_ms(half_period); After executing the leds[0].on().ok() statement, you should see a red LED, the one pointing North, turn on. Let's continue stepping over the program: (gdb) next\n17 leds[0].off().ok(); (gdb) next\n18 delay.delay_ms(half_period); The delay_ms call will block the program for half a second but you may not notice because the next command also takes some time to execute. However, after stepping over the leds[0].off() statement you should see the red LED turn off. You can already guess what this program does. Let it run uninterrupted using the continue command. (gdb) continue\nContinuing. Now, let's do something more interesting. We are going to modify the behavior of our program using GDB. First, let's stop the infinite loop by hitting Ctrl+C. You'll probably end up somewhere inside Led::on, Led::off or delay_ms: ^C\nProgram received signal SIGINT, Interrupt.\n0x08003434 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053 In my case, the program stopped its execution inside a read_volatile function. GDB output shows some interesting information about that: core::ptr::read_volatile (src=0xe000e010). This means that the function comes from the core crate and that it was called with argument src = 0xe000e010. Just so you know, a more explicit way to show the arguments of a function is to use the info args command: (gdb) info args\nsrc = 0xe000e010 Regardless of where your program may have stopped you can always look at the output of the backtrace command (bt for short) to learn how it got there: (gdb) backtrace\n#0 0x08003434 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053\n#1 0x08002d66 in vcell::VolatileCell::get (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/vcell-0.1.3/src/lib.rs:33\n#2 volatile_register::RW::read (self=0xe000e010) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/volatile-register-0.2.0/src/lib.rs:75\n#3 cortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136\n#4 0x08003004 in stm32f3xx_hal::delay::{{impl}}::delay_us (self=0x20009fa4, us=500000) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:58\n#5 0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32\n#6 0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38\n#7 0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15\n#8 0x08000206 in led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:7 backtrace will print a trace of function calls from the current function down to main. Back to our topic. To do what we are after, first, we have to return to the main function. We can do that using the finish command. This command resumes the program execution and stops it again right after the program returns from the current function. We'll have to call it several times. (gdb) finish\nRun till exit from #0 0x08003434 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1053\ncortex_m::peripheral::SYST::has_wrapped (self=0x20009fa4) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-0.6.4/src/peripheral/syst.rs:136\n136 self.csr.read() & SYST_CSR_COUNTFLAG != 0\nValue returned is $1 = 5 (..) (gdb) finish\nRun till exit from #0 0x08002f3e in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:32\n0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38\n38 self.delay_ms(u32(ms)); (gdb) finish\nRun till exit from #0 0x08002f80 in stm32f3xx_hal::delay::{{impl}}::delay_ms (self=0x20009fa4, ms=500) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f3xx-hal-0.5.0/src/delay.rs:38\n0x0800024c in led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:15\n15 delay.delay_ms(half_period); We are back in main. We have a local variable in here: half_period (gdb) print half_period\n$3 = 500 Now, we are going to modify this variable using the set command: (gdb) set half_period = 100 (gdb) print half_period\n$5 = 100 If you let program run free again using the continue command, you might see that the LED will blink at a much faster rate now, but more likely the blink rate didn't change. What happened? Let's stop the program with Ctrl+C and then set a break point at main:14. (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\ncore::cell::UnsafeCell::get (self=0x20009fa4) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1711\n1711 pub const fn get(&self) -> *mut T { Then set a break point at main.rs:14 and continue (gdb) break main.rs:14\nBreakpoint 2 at 0x8000236: file src/05-led-roulette/src/main.rs, line 14.\n(gdb) continue\nContinuing. Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:14\n14 leds[0].on().ok(); Now open your terminal window so it's about 80 lines long an 170 characters wide if possible. NOTE : If you can't open the terminal that large, no problem you'll just see --Type for more, q to quit, c to continue without paging-- so just type return until you see the (gdb) prompt. Then scroll your terminal window to see the results. (gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h51e7c3daad2af251E:\n8 fn main() -> ! { 0x08000208 <+0>: push {r7, lr} 0x0800020a <+2>: mov r7, sp 0x0800020c <+4>: sub sp, #64 ; 0x40 0x0800020e <+6>: add r0, sp, #32 9 let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); 0x08000210 <+8>: bl 0x8000302 0x08000214 <+12>: b.n 0x8000216 0x08000216 <+14>: add r0, sp, #32 0x08000218 <+16>: add r1, sp, #4 0x0800021a <+18>: ldmia.w r0, {r2, r3, r4, r12, lr} 0x0800021e <+22>: stmia.w r1, {r2, r3, r4, r12, lr} 0x08000222 <+26>: ldr r0, [sp, #52] ; 0x34 0x08000224 <+28>: ldr r1, [sp, #56] ; 0x38 0x08000226 <+30>: str r1, [sp, #28] 0x08000228 <+32>: str r0, [sp, #24] 0x0800022a <+34>: mov.w r0, #500 ; 0x1f4 10\n11 let half_period = 500_u16; 0x0800022e <+38>: strh.w r0, [r7, #-2] 12\n13 loop { 0x08000232 <+42>: b.n 0x8000234 0x08000234 <+44>: add r0, sp, #24 0x08000268 <+96>: b.n 0x8000234 14 leds[0].on().ok();\n=> 0x08000236 <+46>: bl 0x80001ec >>> 0x0800023a <+50>: b.n 0x800023c 0x0800023c <+52>: bl 0x8000594 ::ok<(),core::convert::Infallible>> 0x08000240 <+56>: b.n 0x8000242 0x08000242 <+58>: add r0, sp, #4 0x08000244 <+60>: mov.w r1, #500 ; 0x1f4 15 delay.delay_ms(half_period); 0x08000248 <+64>: bl 0x8002f5c 0x0800024c <+68>: b.n 0x800024e 0x0800024e <+70>: add r0, sp, #24 16\n17 leds[0].off().ok(); 0x08000250 <+72>: bl 0x800081a >>> 0x08000254 <+76>: b.n 0x8000256 0x08000256 <+78>: bl 0x8000594 ::ok<(),core::convert::Infallible>> 0x0800025a <+82>: b.n 0x800025c 0x0800025c <+84>: add r0, sp, #4 0x0800025e <+86>: mov.w r1, #500 ; 0x1f4 18 delay.delay_ms(half_period); 0x08000262 <+90>: bl 0x8002f5c 0x08000266 <+94>: b.n 0x8000268 End of assembler dump. In the above dump the reason the delay didn't change was because the compiler recognized that half_period didn't change and instead in the two places where delay.delay_ms(half_period); is called we see mov.w r1, #500. So changing the value of half_period does nothing! 0x08000244 <+60>: mov.w r1, #500 ; 0x1f4 15 delay.delay_ms(half_period); 0x08000248 <+64>: bl 0x8002f5c (..) 0x0800025e <+86>: mov.w r1, #500 ; 0x1f4 18 delay.delay_ms(half_period); 0x08000262 <+90>: bl 0x8002f5c One solution to the problem is to wrap half_period in a Volatile as shown below. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use volatile::Volatile;\nuse aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry}; #[entry]\nfn main() -> ! { let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); let mut half_period = 500_u16; let v_half_period = Volatile::new(&mut half_period); loop { leds[0].on().ok(); delay.delay_ms(v_half_period.read()); leds[0].off().ok(); delay.delay_ms(v_half_period.read()); }\n} Edit Cargo.toml adding volatile = \"0.4.3\" in the [dependencies] section. [dependencies]\naux5 = { path = \"auxiliary\" }\nvolatile = \"0.4.3\" With the above code using Volatile you can now change half_period and you'll be able to experiment with different values. Here is the list of commands followed by an explanation; # xxxx to demonstrate. $ cargo run --target thumbv7em-none-eabihf # Compile and load the program into gdb\n(gdb) target remote :3333 # Connect to STM32F3DISCOVERY board from PC\n(gdb) load # Flash program\n(gdb) break main.rs:16 # Set breakpoint 1 at top of loop\n(gdb) continue # Continue, will stop at main.rs:16\n(gdb) disable 1 # Disable breakpoint 1\n(gdb) set print asm-demangle on # Enable asm-demangle\n(gdb) disassemble /m # Disassemble main function\n(gdb) continue # Led blinking on for 1/2 sec then off 1/2 sec\n^C # Stop with Ctrl+C\n(gdb) enable 1 # Enable breakpoint 1\n(gdb) continue # Continue, will stop at main.rs:16\n(gdb) print half_period # Print half_period result is 500\n(gdb) set half_period = 2000 # Set half_period to 2000ms\n(gdb) print half_period # Print half_period and result is 2000\n(gdb) disable 1 # Disable breakpoint 1\n(gdb) continue # Led blinking on for 2 secs then off 2 sec\n^C # Stop with Ctrl+C\n(gdb) quit # Quit gdb The critical changes are at lines 13, 17 and 20 in the source code which you can see in the disassembly. At 13 we create v_half_period and then read() its value in lines 17 and 20. This means that when we set half_period = 2000 the led will now be on for 2 seconds then off for 2 seconds. $ cargo run --target thumbv7em-none-eabihf Compiling led-roulette v0.2.0 (~/embedded-discovery/src/05-led-roulette) Finished dev [unoptimized + debuginfo] target(s) in 0.18s Running `arm-none-eabi-gdb -q ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette... (gdb) target remote :3333\nRemote debugging using :3333\nled_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) load\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x5258 lma 0x8000194\nLoading section .rodata, size 0xbd8 lma 0x80053ec\nStart address 0x08000194, load size 24516\nTransfer rate: 21 KB/sec, 6129 bytes/write. (gdb) break main.rs:16\nBreakpoint 1 at 0x8000246: file src/05-led-roulette/src/main.rs, line 16.\nNote: automatically using hardware breakpoints for read-only addresses. (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) disable 1 (gdb) set print asm-demangle on (gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17he1f2bc7990b13731E:\n9 fn main() -> ! { 0x0800020e <+0>: push {r7, lr} 0x08000210 <+2>: mov r7, sp 0x08000212 <+4>: sub sp, #72 ; 0x48 0x08000214 <+6>: add r0, sp, #36 ; 0x24 10 let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); 0x08000216 <+8>: bl 0x800036a 0x0800021a <+12>: b.n 0x800021c 0x0800021c <+14>: add r0, sp, #36 ; 0x24 0x0800021e <+16>: add r1, sp, #8 0x08000220 <+18>: ldmia.w r0, {r2, r3, r4, r12, lr} 0x08000224 <+22>: stmia.w r1, {r2, r3, r4, r12, lr} 0x08000228 <+26>: ldr r0, [sp, #56] ; 0x38 0x0800022a <+28>: ldr r1, [sp, #60] ; 0x3c 0x0800022c <+30>: str r1, [sp, #32] 0x0800022e <+32>: str r0, [sp, #28] 0x08000230 <+34>: mov.w r0, #500 ; 0x1f4 11\n12 let mut half_period = 500_u16; 0x08000234 <+38>: strh.w r0, [r7, #-6] 0x08000238 <+42>: subs r0, r7, #6 13 let v_half_period = Volatile::new(&mut half_period); 0x0800023a <+44>: bl 0x800033e ::new<&mut u16>> 0x0800023e <+48>: str r0, [sp, #68] ; 0x44 0x08000240 <+50>: b.n 0x8000242 14\n15 loop { 0x08000242 <+52>: b.n 0x8000244 0x08000244 <+54>: add r0, sp, #28 0x08000288 <+122>: b.n 0x8000244 16 leds[0].on().ok();\n=> 0x08000246 <+56>: bl 0x800032c >>> 0x0800024a <+60>: b.n 0x800024c 0x0800024c <+62>: bl 0x80005fc ::ok<(),core::convert::Infallible>> 0x08000250 <+66>: b.n 0x8000252 0x08000252 <+68>: add r0, sp, #68 ; 0x44 17 delay.delay_ms(v_half_period.read()); 0x08000254 <+70>: bl 0x800034a ::read<&mut u16,u16,volatile::access::ReadWrite>> 0x08000258 <+74>: str r0, [sp, #4] 0x0800025a <+76>: b.n 0x800025c 0x0800025c <+78>: add r0, sp, #8 0x0800025e <+80>: ldr r1, [sp, #4] 0x08000260 <+82>: bl 0x8002fc4 0x08000264 <+86>: b.n 0x8000266 0x08000266 <+88>: add r0, sp, #28 18\n19 leds[0].off().ok(); 0x08000268 <+90>: bl 0x8000882 >>> 0x0800026c <+94>: b.n 0x800026e 0x0800026e <+96>: bl 0x80005fc ::ok<(),core::convert::Infallible>> 0x08000272 <+100>: b.n 0x8000274 0x08000274 <+102>: add r0, sp, #68 ; 0x44 20 delay.delay_ms(v_half_period.read()); 0x08000276 <+104>: bl 0x800034a ::read<&mut u16,u16,volatile::access::ReadWrite>> 0x0800027a <+108>: str r0, [sp, #0] 0x0800027c <+110>: b.n 0x800027e 0x0800027e <+112>: add r0, sp, #8 0x08000280 <+114>: ldr r1, [sp, #0] 0x08000282 <+116>: bl 0x8002fc4 0x08000286 <+120>: b.n 0x8000288 End of assembler dump. (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\n0x080037b2 in core::cell::UnsafeCell::get (self=0x20009fa0) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:1716\n1716 } (gdb) enable 1 (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) print half_period\n$2 = 500 (gdb) disable 1 (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\n0x08003498 in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1052\n1052 unsafe { intrinsics::volatile_load(src) } (gdb) enable 1 (gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:16\n16 leds[0].on().ok(); (gdb) print half_period\n$3 = 500 (gdb) set half_period = 2000 (gdb) print half_period\n$4 = 2000 (gdb) disable 1 (gdb) continue\nContinuing.\n^C\nProgram received signal SIGINT, Interrupt.\n0x0800348e in core::ptr::read_volatile (src=0xe000e010) at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1046\n1046 pub unsafe fn read_volatile(src: *const T) -> T { (gdb) q\nDetaching from program: ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached] Question! What happens if you start lowering the value of half_period? At what value of half_period you can no longer see the LED blink? Now, it's your turn to write a program.","breadcrumbs":"LED roulette » The led and delay abstractions » The Led and Delay abstractions","id":"66","title":"The Led and Delay abstractions"},"67":{"body":"You are now well armed to face a challenge! Your task will be to implement the application I showed you at the beginning of this chapter. Here's the GIF again: Also, this may help: This is a timing diagram. It indicates which LED is on at any given instant of time and for how long each LED should be on. On the X axis we have the time in milliseconds. The timing diagram shows a single period. This pattern will repeat itself every 800 ms. The Y axis labels each LED with a cardinal point: North, East, etc. As part of the challenge you'll have to figure out how each element in the Leds array maps to these cardinal points (hint: cargo doc --open ;-)). Before you attempt this challenge, let me give you one additonal tip. Our GDB sessions always involve entering the same commands at the beginning. We can use a .gdb file to execute some commands right after GDB is started. This way you can save yourself the effort of having to enter them manually on each GDB session. As it turns out we've already created ../openocd.gdb and you can see it's doing pretty much what we did in the previous section plus a few other commands. Look at the comments for additional information: $ cat ../openocd.gdb\n# Connect to gdb remote server\ntarget remote :3333 # Load will flash the code\nload # Eanble demangling asm names on disassembly\nset print asm-demangle on # Enable pretty printing\nset print pretty on # Disable style sources as the default colors can be hard to read\nset style sources off # Initialize monitoring so iprintln! macro output\n# is sent from the itm port to itm.txt\nmonitor tpiu config internal itm.txt uart off 8000000 # Turn on the itm port\nmonitor itm port 0 on # Set a breakpoint at main, aka entry\nbreak main # Set a breakpiont at DefaultHandler\nbreak DefaultHandler # Set a breakpiont at HardFault\nbreak HardFault # Continue running and until we hit the main breakpoint\ncontinue # Step from the trampoline code in entry into main\nstep Now we need to modify the ../.cargo/config.toml file to execute ../openocd.gdb nano ../.cargo/config.toml Edit your runner command -x ../openocd.gdb. Assuming you're using arm-none-eabi-gdb the diff is: ~/embedded-discovery/src/05-led-roulette\n$ git diff ../.cargo/config.toml\ndiff --git a/src/.cargo/config.toml b/src/.cargo/config.toml\nindex ddff17f..02ac952 100644\n--- a/src/.cargo/config.toml\n+++ b/src/.cargo/config.toml\n@@ -1,5 +1,5 @@ [target.thumbv7em-none-eabihf]\n-runner = \"arm-none-eabi-gdb -q\"\n+runner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\" # runner = \"gdb-multiarch -q\" # runner = \"gdb -q\" rustflags = [ And the full contents of ../.cargo/config.toml, again assuming arm-none-eabi-gdb, is: [target.thumbv7em-none-eabihf]\nrunner = \"arm-none-eabi-gdb -q -x ../openocd.gdb\"\n# runner = \"gdb-multiarch -q\"\n# runner = \"gdb -q\"\nrustflags = [ \"-C\", \"link-arg=-Tlink.x\",\n] [build]\ntarget = \"thumbv7em-none-eabihf\" With that in place, you can now use a simple cargo run command which will build the ARM version of the code and run the gdb session. The gdb session will automatically flash the program and jump to the beginning of main as it step's through the entry trampoline: cargo run ~/embedded-discovery/src/05-led-roulette (Update-05-led-roulette-WIP)\n$ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `arm-none-eabi-gdb -q -x openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/led-roulette...\nled_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry]\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x52c0 lma 0x8000194\nLoading section .rodata, size 0xb50 lma 0x8005454\nStart address 0x08000194, load size 24484\nTransfer rate: 21 KB/sec, 6121 bytes/write.\nBreakpoint 1 at 0x8000202: file ~/embedded-discovery/src/05-led-roulette/src/main.rs, line 7.\nNote: automatically using hardware breakpoints for read-only addresses. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:7\n7 #[entry]\nled_roulette::__cortex_m_rt_main () at ~/embedded-discovery/src/05-led-roulette/src/main.rs:9\n9 let (mut delay, mut leds): (Delay, LedArray) = aux5::init();","breadcrumbs":"LED roulette » The challenge » The challenge","id":"67","title":"The challenge"},"68":{"body":"If you haven't already ready, it's probably a good idea to fork the embedded discovery book so you can save your changes in your own branch of your fork. We suggest creating your own branch and leaving the master branch alone so the master branch of your fork can stay in sync with the upstream repo. Also, it allows you to more easily create PR's and improve this book, thank you in advance !","breadcrumbs":"LED roulette » The challenge » Fork the discovery book","id":"68","title":"Fork the discovery book"},"69":{"body":"What solution did you come up with? Here's mine: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux5::{Delay, DelayMs, LedArray, OutputSwitch, entry}; #[entry]\nfn main() -> ! { let (mut delay, mut leds): (Delay, LedArray) = aux5::init(); let ms = 50_u8; loop { for curr in 0..8 { let next = (curr + 1) % 8; leds[next].on().ok(); delay.delay_ms(ms); leds[curr].off().ok(); delay.delay_ms(ms); } }\n} One more thing! Check that your solution also works when compiled in \"release\" mode: $ cargo build --target thumbv7em-none-eabihf --release You can test it with this gdb command: $ # or, you could simply call `cargo run --target thumbv7em-none-eabihf --release`\n$ arm-none-eabi-gdb target/thumbv7em-none-eabihf/release/led-roulette\n$ # ~~~~~~~ Binary size is something we should always keep an eye on! How big is your solution? You can check that using the size command on the release binary: $ # equivalent to size target/thumbv7em-none-eabihf/debug/led-roulette\n$ cargo size --target thumbv7em-none-eabihf --bin led-roulette -- -A Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 404 0x8000000\n.text 21144 0x8000194\n.rodata 3144 0x800542c\n.data 0 0x20000000\n.bss 4 0x20000000\n.uninit 0 0x20000004\n.debug_abbrev 19160 0x0\n.debug_info 471239 0x0\n.debug_aranges 18376 0x0\n.debug_ranges 102536 0x0\n.debug_str 508618 0x0\n.debug_pubnames 76975 0x0\n.debug_pubtypes 112797 0x0\n.ARM.attributes 58 0x0\n.debug_frame 55848 0x0\n.debug_line 282067 0x0\n.debug_loc 845 0x0\n.comment 147 0x0\nTotal 1673362 $ cargo size --target thumbv7em-none-eabihf --bin led-roulette --release -- -A Finished release [optimized + debuginfo] target(s) in 0.03s\nled-roulette :\nsection size addr\n.vector_table 404 0x8000000\n.text 5380 0x8000194\n.rodata 564 0x8001698\n.data 0 0x20000000\n.bss 4 0x20000000\n.uninit 0 0x20000004\n.debug_loc 9994 0x0\n.debug_abbrev 1821 0x0\n.debug_info 74974 0x0\n.debug_aranges 600 0x0\n.debug_ranges 6848 0x0\n.debug_str 52828 0x0\n.debug_pubnames 20821 0x0\n.debug_pubtypes 18891 0x0\n.ARM.attributes 58 0x0\n.debug_frame 1088 0x0\n.debug_line 15307 0x0\n.comment 19 0x0\nTotal 209601 NOTE The Cargo project is already configured to build the release binary using LTO. Know how to read this output? The text section contains the program instructions. It's around 5.25KB in my case. On the other hand, the data and bss sections contain variables statically allocated in RAM (static variables). A static variable is being used in aux5::init; that's why it shows 4 bytes of bss. One final thing! We have been running our programs from within GDB but our programs doesn't depend on GDB at all. You can confirm this be closing both GDB and OpenOCD and then resetting the board by pressing the black button on the board. The LED roulette application will run without intervention of GDB.","breadcrumbs":"LED roulette » My solution » My solution","id":"69","title":"My solution"},"7":{"body":"","breadcrumbs":"Background » Background","id":"7","title":"Background"},"70":{"body":"HEADS UP The \"solder bridge\" SB10 (see back of the board) on the STM32F3DISCOVERY, which is required to use the ITM and the iprint! macros shown below, is not soldered by default (see page 21 of the User Manual ). (To be more accurate: this actually depends on the board revision. If you have an old version of the board as the old User Manual said, the SB10 was soldered. Check your board to decide whether you need to fix it.) TL;DR You have two options to fix this: Either solder the solder bridge SB10 or connect a female to female jumper wire between SWO and PB3 as shown in the picture below. Just a little more of helpful magic before we start doing low level stuff. Blinking an LED is like the \"Hello, world\" of the embedded world. But in this section, we'll run a proper \"Hello, world\" program that prints stuff to your computer console. Go to the 06-hello-world directory. There's some starter code in it: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux6::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { let mut itm = aux6::init(); iprintln!(&mut itm.stim[0], \"Hello, world!\"); loop {}\n} The iprintln macro will format messages and output them to the microcontroller's ITM . ITM stands for Instrumentation Trace Macrocell and it's a communication protocol on top of SWD (Serial Wire Debug) which can be used to send messages from the microcontroller to the debugging host. This communication is only one way : the debugging host can't send data to the microcontroller. OpenOCD, which is managing the debug session, can receive data sent through this ITM channel and redirect it to a file. The ITM protocol works with frames (you can think of them as Ethernet frames). Each frame has a header and a variable length payload. OpenOCD will receive these frames and write them directly to a file without parsing them. So, if the microntroller sends the string \"Hello, world!\" using the iprintln macro, OpenOCD's output file won't exactly contain that string. To retrieve the original string, OpenOCD's output file will have to be parsed. We'll use the itmdump program to perform the parsing as new data arrives. You should have already installed the itmdump program during the installation chapter . In a new terminal, run this command inside the /tmp directory, if you are using a *nix OS, or from within the %TEMP% directory, if you are running Windows. This should be the same directory from where you are running OpenOCD. NOTE It's very important that both itmdump and openocd are running from the same directory! $ # itmdump terminal $ # *nix\n$ cd /tmp && touch itm.txt $ # Windows\n$ cd %TEMP% && type nul >> itm.txt $ # both\n$ itmdump -F -f itm.txt This command will block as itmdump is now watching the itm.txt file. Leave this terminal open. Make sure that the STM32F3DISCOVERY board is connected to your computer. Open another terminal from /tmp directory (on Windows %TEMP%) to launch OpenOCD similar as described in chapter 3 . Alright. Now, let's build the starter code and flash it into the microcontroller. We will now build and run the application, cargo run. And step through it using next. Since openocd.gdb contains the monitor commands in openocd.gdb OpenOCD will redirect the ITM output to itm.txt and itmdump will write it to its terminal window. Also, it setup break points and stepped through the trampoline we are at the first executable statement in fn main(): ~/embedded-discovery/src/06-hello-world\n$ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:14\n14 loop {}\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x2828 lma 0x8000194\nLoading section .rodata, size 0x638 lma 0x80029bc\nStart address 0x08000194, load size 12276\nTransfer rate: 18 KB/sec, 4092 bytes/write.\nBreakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.\nNote: automatically using hardware breakpoints for read-only addresses.\nBreakpoint 2 at 0x800092a: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.\nBreakpoint 3 at 0x80029a8: file /home/wink/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560. Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8\n8 #[entry]\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10\n10 let mut itm = aux6::init(); (gdb) Now issue a next command which will execute aux6::init() and stop at the next executable statement in main.rs, which positions us at line 12: (gdb) next\n12 iprintln!(&mut itm.stim[0], \"Hello, world!\"); Then issue another next command which will execute line 12, executing the iprintln and stop at line 14: (gdb) next\n14 loop {} Now since iprintln has been executed the output on the itmdump terminal window should be the Hello, world! string: $ itmdump -F -f itm.txt\n(...)\nHello, world! Awesome, right? Feel free to use iprintln as a logging tool in the coming sections. Next: That's not all! The iprint! macros are not the only thing that uses the ITM. :-)","breadcrumbs":"Hello, world! » Hello, world!","id":"70","title":"Hello, world!"},"71":{"body":"The panic! macro also sends its output to the ITM! Change the main function to look like this: #[entry]\nfn main() -> ! { panic!(\"Hello, world!\");\n} Before running one other suggestion, I find it inconvenient to have to confirm when quitting gdb. Add the following file in your home directory ~/.gdbinit so that it quits immediately: $ cat ~/.gdbinit\ndefine hook-quit set confirm off\nend OK, now use cargo run and it stops at the first line of fn main(): $ cargo run Compiling hello-world v0.2.0 (~/embedded-discovery/src/06-hello-world) Finished dev [unoptimized + debuginfo] target(s) in 0.11s Running `arm-none-eabi-gdb -q -x ../openocd.gdb ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world`\nReading symbols from ~/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world...\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10\n10 panic!(\"Hello, world!\");\nLoading section .vector_table, size 0x194 lma 0x8000000\nLoading section .text, size 0x20fc lma 0x8000194\nLoading section .rodata, size 0x554 lma 0x8002290\nStart address 0x08000194, load size 10212\nTransfer rate: 17 KB/sec, 3404 bytes/write.\nBreakpoint 1 at 0x80001f0: file ~/embedded-discovery/src/06-hello-world/src/main.rs, line 8.\nNote: automatically using hardware breakpoints for read-only addresses.\nBreakpoint 2 at 0x8000222: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 570.\nBreakpoint 3 at 0x800227a: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs, line 560. Breakpoint 1, hello_world::__cortex_m_rt_main_trampoline () at ~/embedded-discovery/src/06-hello-world/src/main.rs:8\n8 #[entry]\nhello_world::__cortex_m_rt_main () at ~/embedded-discovery/src/06-hello-world/src/main.rs:10\n10 panic!(\"Hello, world!\");\n(gdb) We'll use short command names to save typing, enter c then the Enter or Return key: (gdb) c\nContinuing. If all is well you'll see some new output in the itmdump terminal. $ # itmdump terminal\n(..)\npanicked at 'Hello, world!', src/06-hello-world/src/main.rs:10:5 Then type Ctrl-c which breaks out of a loop in the runtime: ^C\nProgram received signal SIGINT, Interrupt.\n0x0800115c in panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:57\n57 atomic::compiler_fence(Ordering::SeqCst); Ultimately, panic! is just another function call so you can see it leaves behind a trace of function calls. This allows you to use backtrace or just bt and to see call stack that caused the panic: (gdb) bt\n#0 panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47\n#1 0x080005c2 in core::panicking::panic_fmt () at library/core/src/panicking.rs:92\n#2 0x0800055a in core::panicking::panic () at library/core/src/panicking.rs:50\n#3 0x08000210 in hello_world::__cortex_m_rt_main () at src/06-hello-world/src/main.rs:10\n#4 0x080001f4 in hello_world::__cortex_m_rt_main_trampoline () at src/06-hello-world/src/main.rs:8 Another thing we can do is catch the panic before it does the logging. So we'll do several things; reset to the beginning, disable breakpoint 1, set a new breakpoint at rust_begin_unwind, list the break points and then continue: (gdb) monitor reset halt\nUnable to match requested speed 1000 kHz, using 950 kHz\nUnable to match requested speed 1000 kHz, using 950 kHz\nadapter speed: 950 kHz\ntarget halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x08000194 msp: 0x2000a000 (gdb) disable 1 (gdb) break rust_begin_unwind Breakpoint 4 at 0x800106c: file ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs, line 47. (gdb) info break\nNum Type Disp Enb Address What\n1 breakpoint keep n 0x080001f0 in hello_world::__cortex_m_rt_main_trampoline at ~/prgs/rust/tutorial/embedded-discovery/src/06-hello-world/src/main.rs:8 breakpoint already hit 1 time\n2 breakpoint keep y 0x08000222 in cortex_m_rt::DefaultHandler_ at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:570\n3 breakpoint keep y 0x0800227a in cortex_m_rt::HardFault_ at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560\n4 breakpoint keep y 0x0800106c in panic_itm::panic at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47 (gdb) c\nContinuing. Breakpoint 4, panic_itm::panic (info=0x20009fa0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-itm-0.4.2/src/lib.rs:47\n47 interrupt::disable(); You'll notice that nothing got printed on the itmdump console this time. If you resume the program using continue then a new line will be printed. In a later section we'll look into other simpler communication protocols. Finally, enter the q command to quit and it quits immediately without asking for confirmation: (gdb) q\nDetaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached] As an even shorter sequence you can type Ctrl-d, which eliminates one keystroke! NOTE In this case the (gdb) prompt is overwritten with quit) quit)\nDetaching from program: ~/prgs/rust/tutorial/embedded-discovery/target/thumbv7em-none-eabihf/debug/hello-world, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached]","breadcrumbs":"Hello, world! » panic! » panic!","id":"71","title":"panic!"},"72":{"body":"It's time to explore what the Led API does under the hood. In a nutshell, it just writes to some special memory regions. Go into the 07-registers directory and let's run the starter code statement by statement. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux7::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { aux7::init(); unsafe { // A magic address! const GPIOE_BSRR: u32 = 0x48001018; // Turn on the \"North\" LED (red) *(GPIOE_BSRR as *mut u32) = 1 << 9; // Turn on the \"East\" LED (green) *(GPIOE_BSRR as *mut u32) = 1 << 11; // Turn off the \"North\" LED *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16); // Turn off the \"East\" LED *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16); } loop {}\n} What's this magic? The address 0x48001018 points to a register . A register is a special region of memory that controls a peripheral . A peripheral is a piece of electronics that sits right next to the processor within the microcontroller package and provides the processor with extra functionality. After all, the processor, on its own, can only do math and logic. This particular register controls General Purpose Input/Output (GPIO) pins (GPIO is a peripheral) and can be used to drive each of those pins low or high .","breadcrumbs":"Registers » Registers","id":"72","title":"Registers"},"73":{"body":"Drive? Pin? Low? High? A pin is a electrical contact. Our microcontroller has several of them and some of them are connected to LEDs. An LED, a Light Emitting Diode, will only emit light when voltage is applied to it with a certain polarity. Luckily for us, the microcontroller's pins are connected to the LEDs with the right polarity. All that we have to do is output some non-zero voltage through the pin to turn the LED on. The pins attached to the LEDs are configured as digital outputs and can only output two different voltage levels: \"low\", 0 Volts, or \"high\", 3 Volts. A \"high\" (voltage) level will turn the LED on whereas a \"low\" (voltage) level will turn it off. These \"low\" and \"high\" states map directly to the concept of digital logic. \"low\" is 0 or false and \"high\" is 1 or true. This is why this pin configuration is known as digital output. OK. But how can one find out what this register does? Time to RTRM (Read the Reference Manual)!","breadcrumbs":"Registers » An aside: LEDs, digital outputs and voltage levels","id":"73","title":"An aside: LEDs, digital outputs and voltage levels"},"74":{"body":"I mentioned that the microcontroller has several pins. For convenience, these pins are grouped in ports of 16 pins. Each port is named with a letter: Port A, Port B, etc. and the pins within each port are named with numbers from 0 to 15. The first thing we have to find out is which pin is connected to which LED. This information is in the STM32F3DISCOVERY User Manual (You downloaded a copy, right?). In this particular section: Section 6.4 LEDs - Page 18 The manual says: LD3, the North LED, is connected to the pin PE9. PE9 is the short form of: Pin 9 on Port E. LD7, the East LED, is connected to the pin PE11. Up to this point, we know that we want to change the state of the pins PE9 and PE11 to turn the North/East LEDs on/off. These pins are part of Port E so we'll have to deal with the GPIOE peripheral. Each peripheral has a register block associated to it. A register block is a collection of registers allocated in contiguous memory. The address at which the register block starts is known as its base address. We need to figure out what's the base address of the GPIOE peripheral. That information is in the following section of the microcontroller Reference Manual : Section 3.2.2 Memory map and register boundary addresses - Page 51 The table says that base address of the GPIOE register block is 0x4800_1000. Each peripheral also has its own section in the documentation. Each of these sections ends with a table of the registers that the peripheral's register block contains. For the GPIO family of peripheral, that table is in: Section 11.4.12 GPIO register map - Page 243 'BSRR' is the register which we will be using to set/reset. Its offset value is '0x18' from the base address of the 'GPIOE'. We can look up BSRR in the reference manual. GPIO Registers -> GPIO port bit set/reset register (GPIOx_BSRR). Now we need to jump to the documentation of that particular register. It's a few pages above in: Section 11.4.7 GPIO port bit set/reset register (GPIOx_BSRR) - Page 240 Finally! This is the register we were writing to. The documentation says some interesting things. First, this register is write only ... so let's try reading its value :-). We'll use GDB's examine command: x. (gdb) next\n16 *(GPIOE_BSRR as *mut u32) = 1 << 9; (gdb) x 0x48001018\n0x48001018: 0x00000000 (gdb) # the next command will turn the North LED on\n(gdb) next\n19 *(GPIOE_BSRR as *mut u32) = 1 << 11; (gdb) x 0x48001018\n0x48001018: 0x00000000 Reading the register returns 0. That matches what the documentation says. The other thing that the documentation says is that the bits 0 to 15 can be used to set the corresponding pin. That is bit 0 sets the pin 0. Here, set means outputting a high value on the pin. The documentation also says that bits 16 to 31 can be used to reset the corresponding pin. In this case, the bit 16 resets the pin number 0. As you may guess, reset means outputting a low value on the pin. Correlating that information with our program, all seems to be in agreement: Writing 1 << 9 (BS9 = 1) to BSRR sets PE9 high . That turns the North LED on . Writing 1 << 11 (BS11 = 1) to BSRR sets PE11 high . That turns the East LED on . Writing 1 << 25 (BR9 = 1) to BSRR sets PE9 low . That turns the North LED off . Finally, writing 1 << 27 (BR11 = 1) to BSRR sets PE11 low . That turns the East LED off .","breadcrumbs":"Registers » RTRM » RTRM: Reading The Reference Manual","id":"74","title":"RTRM: Reading The Reference Manual"},"75":{"body":"Reads/writes to registers are quite special. I may even dare to say that they are embodiment of side effects. In the previous example we wrote four different values to the same register. If you didn't know that address was a register, you may have simplified the logic to just write the final value 1 << (11 + 16) into the register. Actually, LLVM, the compiler's backend / optimizer, does not know we are dealing with a register and will merge the writes thus changing the behavior of our program. Let's check that really quick. $ cargo run --release\n(..)\nBreakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7\n7 #[entry] (gdb) step\nregisters::__cortex_m_rt_main () at src/07-registers/src/main.rs:9\n9 aux7::init(); (gdb) next\n25 *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16); (gdb) disassemble /m\nDump of assembler code for function _ZN9registers18__cortex_m_rt_main17h45b1ef53e18aa8d0E:\n8 fn main() -> ! { 0x08000248 <+0>: push {r7, lr} 0x0800024a <+2>: mov r7, sp 9 aux7::init(); 0x0800024c <+4>: bl 0x8000260 0x08000250 <+8>: movw r0, #4120 ; 0x1018 0x08000254 <+12>: mov.w r1, #134217728 ; 0x8000000 0x08000258 <+16>: movt r0, #18432 ; 0x4800 10\n11 unsafe {\n12 // A magic address!\n13 const GPIOE_BSRR: u32 = 0x48001018;\n14\n15 // Turn on the \"North\" LED (red)\n16 *(GPIOE_BSRR as *mut u32) = 1 << 9;\n17\n18 // Turn on the \"East\" LED (green)\n19 *(GPIOE_BSRR as *mut u32) = 1 << 11;\n20\n21 // Turn off the \"North\" LED\n22 *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16);\n23\n24 // Turn off the \"East\" LED\n25 *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16);\n=> 0x0800025c <+20>: str r1, [r0, #0] 0x0800025e <+22>: b.n 0x800025e End of assembler dump. The state of the LEDs didn't change this time! The str instruction is the one that writes a value to the register. Our debug (unoptimized) program had four of them, one for each write to the register, but the release (optimized) program only has one. We can check that using objdump and capture the output to out.asm: # same as cargo objdump -- -d --no-show-raw-insn --print-imm-hex --source target/thumbv7em-none-eabihf/debug/registers\ncargo objdump --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > debug.txt Then examine debug.txt looking for main and we see the 4 str instructions: 080001ec
:\n; #[entry] 80001ec: push {r7, lr} 80001ee: mov r7, sp 80001f0: bl #0x2 80001f4: trap 080001f6 :\n; fn main() -> ! { 80001f6: push {r7, lr} 80001f8: mov r7, sp\n; aux7::init(); 80001fa: bl #0x3e 80001fe: b #-0x2 \n; *(GPIOE_BSRR as *mut u32) = 1 << 9; 8000200: movw r0, #0x2640 8000204: movt r0, #0x800 8000208: ldr r0, [r0] 800020a: movw r1, #0x1018 800020e: movt r1, #0x4800 8000212: str r0, [r1]\n; *(GPIOE_BSRR as *mut u32) = 1 << 11; 8000214: movw r0, #0x2648 8000218: movt r0, #0x800 800021c: ldr r0, [r0] 800021e: str r0, [r1]\n; *(GPIOE_BSRR as *mut u32) = 1 << (9 + 16); 8000220: movw r0, #0x2650 8000224: movt r0, #0x800 8000228: ldr r0, [r0] 800022a: str r0, [r1]\n; *(GPIOE_BSRR as *mut u32) = 1 << (11 + 16); 800022c: movw r0, #0x2638 8000230: movt r0, #0x800 8000234: ldr r0, [r0] 8000236: str r0, [r1]\n; loop {} 8000238: b #-0x2 800023a: b #-0x4 (..) How do we prevent LLVM from misoptimizing our program? We use volatile operations instead of plain reads/writes: #![no_main]\n#![no_std] use core::ptr; #[allow(unused_imports)]\nuse aux7::entry; #[entry]\nfn main() -> ! { aux7::init(); unsafe { // A magic address! const GPIOE_BSRR: u32 = 0x48001018; // Turn on the \"North\" LED (red) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9); // Turn on the \"East\" LED (green) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11); // Turn off the \"North\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16)); // Turn off the \"East\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16)); } loop {}\n} Generate release.txt using with --release mode. cargo objdump --release --bin registers -- -d --no-show-raw-insn --print-imm-hex --source > release.txt Now find the main routine in release.txt and we see the 4 str instructions. 0800023e
:\n; #[entry] 800023e: push {r7, lr} 8000240: mov r7, sp 8000242: bl #0x2 8000246: trap 08000248 :\n; fn main() -> ! { 8000248: push {r7, lr} 800024a: mov r7, sp\n; aux7::init(); 800024c: bl #0x22 8000250: movw r0, #0x1018 8000254: mov.w r1, #0x200 8000258: movt r0, #0x4800\n; intrinsics::volatile_store(dst, src); 800025c: str r1, [r0] 800025e: mov.w r1, #0x800 8000262: str r1, [r0] 8000264: mov.w r1, #0x2000000 8000268: str r1, [r0] 800026a: mov.w r1, #0x8000000 800026e: str r1, [r0] 8000270: b #-0x4 (..) We see that the four writes (str instructions) are preserved. If you run it using gdb you'll also see that we get the expected behavior. NB: The last next will endlessly execute loop {}, use Ctrl-c to get back to the (gdb) prompt. $ cargo run --release\n(..) Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9\n9 #[entry] (gdb) step\nregisters::__cortex_m_rt_main () at src/07-registers/src/main.rs:11\n11 aux7::init(); (gdb) next\n18 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9); (gdb) next\n21 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11); (gdb) next\n24 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16)); (gdb) next\n27 ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16)); (gdb) next\n^C\nProgram received signal SIGINT, Interrupt.\n0x08000270 in registers::__cortex_m_rt_main () at ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1124\n1124 intrinsics::volatile_store(dst, src);\n(gdb)","breadcrumbs":"Registers » (mis)Optimization » (mis)Optimization","id":"75","title":"(mis)Optimization"},"76":{"body":"Not all the peripheral memory can be accessed. Look at this program. #![no_main]\n#![no_std] use core::ptr; #[allow(unused_imports)]\nuse aux7::{entry, iprint, iprintln}; #[entry]\nfn main() -> ! { aux7::init(); unsafe { ptr::read_volatile(0x4800_1800 as *const u32); } loop {}\n} This address is close to the GPIOE_BSRR address we used before but this address is invalid . Invalid in the sense that there's no register at this address. Now, let's try it. $ cargo run\n(..)\nBreakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:9\n9 #[entry] (gdb) continue\nContinuing. Breakpoint 3, cortex_m_rt::HardFault_ (ef=0x20009fb0) at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.13/src/lib.rs:560\n560 loop { (gdb) We tried to do an invalid operation, reading memory that doesn't exist, so the processor raised an exception , a hardware exception. In most cases, exceptions are raised when the processor attempts to perform an invalid operation. Exceptions break the normal flow of a program and force the processor to execute an exception handler , which is just a function/subroutine. There are different kind of exceptions. Each kind of exception is raised by different conditions and each one is handled by a different exception handler. The aux7 crate depends on the cortex-m-rt crate which defines a default hard fault handler, named HardFault, that handles the \"invalid memory address\" exception. openocd.gdb placed a breakpoint on HardFault; that's why the debugger halted your program while it was executing the exception handler. We can get more information about the exception from the debugger. Let's see: (gdb) list\n555 #[allow(unused_variables)]\n556 #[doc(hidden)]\n557 #[link_section = \".HardFault.default\"]\n558 #[no_mangle]\n559 pub unsafe extern \"C\" fn HardFault_(ef: &ExceptionFrame) -> ! {\n560 loop {\n561 // add some side effect to prevent this from turning into a UDF instruction\n562 // see rust-lang/rust#28728 for details\n563 atomic::compiler_fence(Ordering::SeqCst);\n564 } ef is a snapshot of the program state right before the exception occurred. Let's inspect it: (gdb) print/x *ef\n$1 = cortex_m_rt::ExceptionFrame { r0: 0x48001800, r1: 0x80036b0, r2: 0x1, r3: 0x80000000, r12: 0xb, lr: 0x800020d, pc: 0x8001750, xpsr: 0xa1000200\n} There are several fields here but the most important one is pc, the Program Counter register. The address in this register points to the instruction that generated the exception. Let's disassemble the program around the bad instruction. (gdb) disassemble /m ef.pc\nDump of assembler code for function core::ptr::read_volatile:\n1046 pub unsafe fn read_volatile(src: *const T) -> T { 0x0800174c <+0>: sub sp, #12 0x0800174e <+2>: str r0, [sp, #4] 1047 if cfg!(debug_assertions) && !is_aligned_and_not_null(src) {\n1048 // Not panicking to keep codegen impact smaller.\n1049 abort();\n1050 }\n1051 // SAFETY: the caller must uphold the safety contract for `volatile_load`.\n1052 unsafe { intrinsics::volatile_load(src) } 0x08001750 <+4>: ldr r0, [r0, #0] 0x08001752 <+6>: str r0, [sp, #8] 0x08001754 <+8>: ldr r0, [sp, #8] 0x08001756 <+10>: str r0, [sp, #0] 0x08001758 <+12>: b.n 0x800175a +14> 1053 } 0x0800175a <+14>: ldr r0, [sp, #0] 0x0800175c <+16>: add sp, #12 0x0800175e <+18>: bx lr End of assembler dump. The exception was caused by the ldr r0, [r0, #0] instruction, a read instruction. The instruction tried to read the memory at the address indicated by the r0 register. By the way, r0 is a CPU (processor) register not a memory mapped register; it doesn't have an associated address like, say, GPIO_BSRR. Wouldn't it be nice if we could check what the value of the r0 register was right at the instant when the exception was raised? Well, we already did! The r0 field in the ef value we printed before is the value of r0 register had when the exception was raised. Here it is again: (gdb) print/x *ef\n$1 = cortex_m_rt::ExceptionFrame { r0: 0x48001800, r1: 0x80036b0, r2: 0x1, r3: 0x80000000, r12: 0xb, lr: 0x800020d, pc: 0x8001750, xpsr: 0xa1000200\n} r0 contains the value 0x4800_1800 which is the invalid address we called the read_volatile function with.","breadcrumbs":"Registers » 0xBAAAAAAD address » 0xBAAAAAAD address","id":"76","title":"0xBAAAAAAD address"},"77":{"body":"BSRR is not the only register that can control the pins of Port E. The ODR register also lets you change the value of the pins. Furthermore, ODR also lets you retrieve the current output status of Port E. ODR is documented in: Section 11.4.6 GPIO port output data register - Page 239 Let's look at this program. The key to this program is fn iprint_odr. This function prints the current value in ODR to the ITM console #![no_main]\n#![no_std] use core::ptr; #[allow(unused_imports)]\nuse aux7::{entry, iprintln, ITM}; // Print the current contents of odr\nfn iprint_odr(itm: &mut ITM) { const GPIOE_ODR: u32 = 0x4800_1014; unsafe { iprintln!( &mut itm.stim[0], \"ODR = 0x{:04x}\", ptr::read_volatile(GPIOE_ODR as *const u16) ); }\n} #[entry]\nfn main() -> ! { let mut itm= aux7::init().0; unsafe { // A magic addresses! const GPIOE_BSRR: u32 = 0x4800_1018; // Print the initial contents of ODR iprint_odr(&mut itm); // Turn on the \"North\" LED (red) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 9); iprint_odr(&mut itm); // Turn on the \"East\" LED (green) ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << 11); iprint_odr(&mut itm); // Turn off the \"North\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (9 + 16)); iprint_odr(&mut itm); // Turn off the \"East\" LED ptr::write_volatile(GPIOE_BSRR as *mut u32, 1 << (11 + 16)); iprint_odr(&mut itm); } loop {}\n} If you run this program $ cargo run\n(..)\nBreakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:22\n22 #[entry] (gdb) continue\nContinuing. You'll see on itmdump's console: $ # itmdump's console\n(..)\nODR = 0x0000\nODR = 0x0200\nODR = 0x0a00\nODR = 0x0800\nODR = 0x0000 Side effects! Although we are reading the same address multiple times without actually modifying it, we still see its value change every time BSRR is written to.","breadcrumbs":"Registers » Spooky action at a distance » Spooky action at a distance","id":"77","title":"Spooky action at a distance"},"78":{"body":"The last register we were working with, ODR, had this in its documentation: Bits 31:16 Reserved, must be kept at reset value We are not supposed to write to those bits of the register or Bad Stuff May Happen. There's also the fact the registers have different read/write permissions. Some of them are write only, others can be read and written to and there must be others that are read only. Finally, directly working with hexadecimal addresses is error prone. You already saw that trying to access an invalid memory address causes an exception which disrupts the execution of our program. Wouldn't it be nice if we had an API to manipulate registers in a \"safe\" manner? Ideally, the API should encode these three points I've mentioned: No messing around with the actual addresses, should respect read/write permissions and should prevent modification of the reserved parts of a register. Well, we do! aux7::init() actually returns a value that provides a type safe API to manipulate the registers of the GPIOE peripheral. As you may remember: a group of registers associated to a peripheral is called register block, and it's located in a contiguous region of memory. In this type safe API each register block is modeled as a struct where each of its fields represents a register. Each register field is a different newtype over e.g. u32 that exposes a combination of the following methods: read, write or modify according to its read/write permissions. Finally, these methods don't take primitive values like u32, instead they take yet another newtype that can be constructed using the builder pattern and that prevent the modification of the reserved parts of the register. The best way to get familiar with this API is to port our running example to it. #![no_main]\n#![no_std] #[allow(unused_imports)]\nuse aux7::{entry, iprintln, ITM, RegisterBlock}; #[entry]\nfn main() -> ! { let gpioe = aux7::init().1; // Turn on the North LED gpioe.bsrr.write(|w| w.bs9().set_bit()); // Turn on the East LED gpioe.bsrr.write(|w| w.bs11().set_bit()); // Turn off the North LED gpioe.bsrr.write(|w| w.br9().set_bit()); // Turn off the East LED gpioe.bsrr.write(|w| w.br11().set_bit()); loop {}\n} First thing you notice: There are no magic addresses involved. Instead we use a more human friendly way, for example gpioe.bsrr, to refer to the BSRR register in the GPIOE register block. Then we have this write method that takes a closure. If the identity closure (|w| w) is used, this method will set the register to its default (reset) value, the value it had right after the microcontroller was powered on / reset. That value is 0x0 for the BSRR register. Since we want to write a non-zero value to the register, we use builder methods like bs9 and br9 to set some of the bits of the default value. Let's run this program! There's some interesting stuff we can do while debugging the program. gpioe is a reference to the GPIOE register block. print gpioe will return the base address of the register block. $ cargo run\n(..) Breakpoint 1, registers::__cortex_m_rt_main_trampoline () at src/07-registers/src/main.rs:7\n7 #[entry] (gdb) step\nregisters::__cortex_m_rt_main () at src/07-registers/src/main.rs:9\n9 let gpioe = aux7::init().1; (gdb) next\n12 gpioe.bsrr.write(|w| w.bs9().set_bit()); (gdb) print gpioe\n$1 = (*mut stm32f3::stm32f303::gpioc::RegisterBlock) 0x48001000 But if we instead print *gpioe, we'll get a full view of the register block: the value of each of its registers will be printed. (gdb) print *gpioe\n$2 = stm32f3::stm32f303::gpioc::RegisterBlock { moder: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 1431633920 } }, _marker: core::marker::PhantomData }, otyper: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, ospeedr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, pupdr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, idr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 204 } }, _marker: core::marker::PhantomData }, odr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, bsrr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, lckr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, afrl: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, afrh: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }, brr: stm32f3::generic::Reg { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0 } }, _marker: core::marker::PhantomData }\n} All these newtypes and closures sound like they'd generate large, bloated programs but, if you actually compile the program in release mode with LTO enabled, you'll see that it produces exactly the same instructions that the \"unsafe\" version that used write_volatile and hexadecimal addresses did! Use cargo objdump to grab the assembler code to release.txt: cargo objdump --bin registers --release -- -d --no-show-raw-insn --print-imm-hex > release.txt Then search for main in release.txt 0800023e
: 800023e: push\t{r7, lr} 8000240: mov\tr7, sp 8000242: bl\t#0x2 8000246: trap 08000248 : 8000248: push\t{r7, lr} 800024a: mov\tr7, sp 800024c: bl\t#0x22 8000250: movw\tr0, #0x1018 8000254: mov.w\tr1, #0x200 8000258: movt\tr0, #0x4800 800025c: str\tr1, [r0] 800025e: mov.w\tr1, #0x800 8000262: str\tr1, [r0] 8000264: mov.w\tr1, #0x2000000 8000268: str\tr1, [r0] 800026a: mov.w\tr1, #0x8000000 800026e: str\tr1, [r0] 8000270: b\t#-0x4 The best part of all this is that nobody had to write a single line of code to implement the GPIOE API. All the code was automatically generated from a System View Description (SVD) file using the svd2rust tool. This SVD file is actually an XML file that microcontroller vendors provide and that contains the register maps of their microcontrollers. The file contains the layout of register blocks, the base addresses, the read/write permissions of each register, the layout of the registers, whether a register has reserved bits and lots of other useful information.","breadcrumbs":"Registers » Type safe manipulation » Type safe manipulation","id":"78","title":"Type safe manipulation"},"79":{"body":"In the last section, I gave you initialized (configured) peripherals (I initialized them in aux7::init). That's why just writing to BSRR was enough to control the LEDs. But, peripherals are not initialized right after the microcontroller boots. In this section, you'll have more fun with registers. I won't do any initialization and you'll have to initialize and configure GPIOE pins as digital outputs pins so that you'll be able to drive LEDs again. This is the starter code. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux8::entry; #[entry]\nfn main() -> ! { let (gpioe, rcc) = aux8::init(); // TODO initialize GPIOE // Turn on all the LEDs in the compass gpioe.odr.write(|w| { w.odr8().set_bit(); w.odr9().set_bit(); w.odr10().set_bit(); w.odr11().set_bit(); w.odr12().set_bit(); w.odr13().set_bit(); w.odr14().set_bit(); w.odr15().set_bit() }); aux8::bkpt(); loop {}\n} If you run the starter code, you'll see that nothing happens this time. Furthermore, if you print the GPIOE register block, you'll see that every register reads as zero even after the gpioe.odr.write statement was executed! $ cargo run\nBreakpoint 1, main () at src/08-leds-again/src/main.rs:9\n9 let (gpioe, rcc) = aux8::init(); (gdb) continue\nContinuing. Program received signal SIGTRAP, Trace/breakpoint trap.\n0x08000f3c in __bkpt () (gdb) finish\nRun till exit from #0 0x08000f3c in __bkpt ()\nmain () at src/08-leds-again/src/main.rs:25\n25 aux8::bkpt(); (gdb) p/x *gpioe\n$1 = stm32f30x::gpioc::RegisterBlock { moder: stm32f30x::gpioc::MODER { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, otyper: stm32f30x::gpioc::OTYPER { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, ospeedr: stm32f30x::gpioc::OSPEEDR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, pupdr: stm32f30x::gpioc::PUPDR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, idr: stm32f30x::gpioc::IDR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, odr: stm32f30x::gpioc::ODR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, bsrr: stm32f30x::gpioc::BSRR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, lckr: stm32f30x::gpioc::LCKR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, afrl: stm32f30x::gpioc::AFRL { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, afrh: stm32f30x::gpioc::AFRH { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }, brr: stm32f30x::gpioc::BRR { register: vcell::VolatileCell { value: core::cell::UnsafeCell { value: 0x0 } } }\n}","breadcrumbs":"LEDs, again » LEDs, again","id":"79","title":"LEDs, again"},"8":{"body":"A microcontroller is a system on a chip. Whereas your computer is made up of several discrete components: a processor, RAM sticks, a hard drive, an ethernet port, etc.; a microcontroller has all those components built into a single \"chip\" or package. This makes it possible to build systems with a minimal part count.","breadcrumbs":"Background » What's a microcontroller?","id":"8","title":"What's a microcontroller?"},"80":{"body":"Turns out that, to save power, most peripherals start in a powered off state -- that's their state right after the microcontroller boots. The Reset and Clock Control (RCC) peripheral can be used to power on or off every other peripheral. You can find the list of registers in the RCC register block in: Section 9.4.14 - RCC register map - Page 166 - Reference Manual The registers that control the power status of other peripherals are: AHBENR APB1ENR APB2ENR Each bit in these registers controls the power status of a single peripheral, including GPIOE. Your task in this section is to power on the GPIOE peripheral. You'll have to: Figure out which of the three registers I mentioned before has the bit that controls the power status. Figure out what value that bit must be set to,0 or 1, to power on the GPIOE peripheral. Finally, you'll have to change the starter code to modify the right register to turn on the GPIOE peripheral. If you are successful, you'll see that the gpioe.odr.write statement will now be able to modify the value of the ODR register. Note that this won't be enough to actually turn on the LEDs.","breadcrumbs":"LEDs, again » Power » Power","id":"80","title":"Power"},"81":{"body":"After turning on the GPIOE peripheral, it still needs to be configured. In this case, we want the pins to be configured as digital outputs so they can drive the LEDs; by default, most pins are configured as digital inputs . You can find the list of registers in the GPIOE register block in: Section 11.4.12 - GPIO registers - Page 243 - Reference Manual The register we'll have to deal with is: MODER. Your task for this section is to further update the starter code to configure the right GPIOE pins as digital outputs. You'll have to: Figure out which pins you need to configure as digital outputs. (hint: check Section 6.4 LEDs of the User Manual (page 18)). Read the documentation to understand what the bits in the MODER register do. Modify the MODER register to configure the pins as digital outputs. If successful, you'll see the 8 LEDs turn on when you run the program.","breadcrumbs":"LEDs, again » Configuration » Configuration","id":"81","title":"Configuration"},"82":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use aux8::entry; #[entry]\nfn main() -> ! { let (gpioe, rcc) = aux8::init(); // enable the GPIOE peripheral rcc.ahbenr.write(|w| w.iopeen().set_bit()); // configure the pins as outputs gpioe.moder.write(|w| { w.moder8().output(); w.moder9().output(); w.moder10().output(); w.moder11().output(); w.moder12().output(); w.moder13().output(); w.moder14().output(); w.moder15().output() }); // Turn on all the LEDs in the compass gpioe.odr.write(|w| { w.odr8().set_bit(); w.odr9().set_bit(); w.odr10().set_bit(); w.odr11().set_bit(); w.odr12().set_bit(); w.odr13().set_bit(); w.odr14().set_bit(); w.odr15().set_bit() }); aux8::bkpt(); loop {}\n}","breadcrumbs":"LEDs, again » The solution » The solution","id":"82","title":"The solution"},"83":{"body":"In this section, we'll re-implement the LED roulette application. I'm going to give you back the Led abstraction but this time I'm going to take away the Delay abstraction :-). Here's the starter code. The delay function is unimplemented so if you run this program the LEDs will blink so fast that they'll appear to always be on. #![no_main]\n#![no_std] use aux9::{entry, switch_hal::OutputSwitch, tim6}; #[inline(never)]\nfn delay(tim6: &tim6::RegisterBlock, ms: u16) { // TODO implement this\n} #[entry]\nfn main() -> ! { let (leds, rcc, tim6) = aux9::init(); let mut leds = leds.into_array(); // TODO initialize TIM6 let ms = 50; loop { for curr in 0..8 { let next = (curr + 1) % 8; leds[next].on().unwrap(); delay(tim6, ms); leds[curr].off().unwrap(); delay(tim6, ms); } }\n}","breadcrumbs":"Clocks and timers » Clocks and timers","id":"83","title":"Clocks and timers"},"84":{"body":"The first challenge is to implement the delay function without using any peripheral and the obvious solution is to implement it as a for loop delay: #[inline(never)]\nfn delay(tim6: &tim6::RegisterBlock, ms: u16) { for _ in 0..1_000 {}\n} Of course, the above implementation is wrong because it always generates the same delay for any value of ms. In this section, you'll have to: Fix the delay function to generate delays proportional to its input ms. Tweak the delay function to make the LED roulette spin at a rate of approximately 5 cycles in 4 seconds (800 milliseconds period). The processor inside the microcontroller is clocked at 72 MHz and executes most instructions in one \"tick\", a cycle of its clock. How many (for) loops do you think the delay function must do to generate a delay of 1 second? How many for loops does delay(1000) actually do? What happens if compile your program in release mode and run it?","breadcrumbs":"Clocks and timers » for loop delays » for loop delays","id":"84","title":"for loop delays"},"85":{"body":"If in the previous section you compiled the program in release mode and actually looked at the disassembly, you probably noticed that the delay function is optimized away and never gets called from within main. LLVM decided that the function wasn't doing anything worthwhile and just removed it. There is a way to prevent LLVM from optimizing the for loop delay: add a volatile assembly instruction. Any instruction will do but NOP (No OPeration) is a particular good choice in this case because it has no side effect. Your for loop delay would become: #[inline(never)]\nfn delay(_tim6: &tim6::RegisterBlock, ms: u16) { const K: u16 = 3; // this value needs to be tweaked for _ in 0..(K * ms) { aux9::nop() }\n} And this time delay won't be compiled away by LLVM when you compile your program in release mode: $ cargo objdump --bin clocks-and-timers --release -- -d --no-show-raw-insn\nclocks-and-timers: file format ELF32-arm-little Disassembly of section .text:\nclocks_and_timers::delay::h711ce9bd68a6328f: 8000188: push {r4, r5, r7, lr} 800018a: movs r4, #0 800018c: adds r4, #1 800018e: uxth r5, r4 8000190: bl #4666 8000194: cmp r5, #150 8000196: blo #-14 8000198: pop {r4, r5, r7, pc} Now, test this: Compile the program in debug mode and run it, then compile the program in release mode and run it. What's the difference between them? What do you think is the main cause of the difference? Can you think of a way to make them equivalent or at least more similar again?","breadcrumbs":"Clocks and timers » NOP » NOP","id":"85","title":"NOP"},"86":{"body":"I hope that, by now, I have convinced you that for loop delays are a poor way to implement delays. Now, we'll implement delays using a hardware timer . The basic function of a (hardware) timer is ... to keep precise track of time. A timer is yet another peripheral that's available to the microcontroller; thus it can be controlled using registers. The microcontroller we are using has several (in fact, more than 10) timers of different kinds (basic, general purpose, and advanced timers) available to it. Some timers have more resolution (number of bits) than others and some can be used for more than just keeping track of time. We'll be using one of the basic timers: TIM6. This is one of the simplest timers available in our microcontroller. The documentation for basic timers is in the following section: Section 22 Timers - Page 670 - Reference Manual Its registers are documented in: Section 22.4.9 TIM6/TIM7 register map - Page 682 - Reference Manual The registers we'll be using in this section are: SR, the status register. EGR, the event generation register. CNT, the counter register. PSC, the prescaler register. ARR, the autoreload register. We'll be using the timer as a one-shot timer. It will sort of work like an alarm clock. We'll set the timer to go off after some amount of time and then we'll wait until the timer goes off. The documentation refers to this mode of operation as one pulse mode . Here's a description of how a basic timer works when configured in one pulse mode: The counter is enabled by the user (CR1.CEN = 1). The CNT register resets its value to zero and, on each tick, its value gets incremented by one. Once the CNT register has reached the value of the ARR register, the counter will be disabled by hardware (CR1.CEN = 0) and an update event will be raised (SR.UIF = 1). TIM6 is driven by the APB1 clock, whose frequency doesn't have to necessarily match the processor frequency. That is, the APB1 clock could be running faster or slower. The default, however, is that both APB1 and the processor are clocked at 8 MHz. The tick mentioned in the functional description of the one pulse mode is not the same as one tick of the APB1 clock. The CNT register increases at a frequency of apb1 / (psc + 1) times per second, where apb1 is the frequency of the APB1 clock and psc is the value of the prescaler register, PSC.","breadcrumbs":"Clocks and timers » One-shot timer » One-shot timer","id":"86","title":"One-shot timer"},"87":{"body":"As with every other peripheral, we'll have to initialize this timer before we can use it. And just as in the previous section, initialization is going to involve two steps: powering up the timer and then configuring it. Powering up the timer is easy: We just have to set TIM6EN bit to 1. This bit is in the APB1ENR register of the RCC register block. // Power on the TIM6 timer rcc.apb1enr.modify(|_, w| w.tim6en().set_bit()); The configuration part is slightly more elaborate. First, we'll have to configure the timer to operate in one pulse mode. // OPM Select one pulse mode // CEN Keep the counter disabled for now tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit()); Then, we'll like to have the CNT counter operate at a frequency of 1 KHz because our delay function takes a number of milliseconds as arguments and 1 KHz produces a 1 millisecond period. For that we'll have to configure the prescaler. // Configure the prescaler to have the counter operate at 1 KHz tim6.psc.write(|w| w.psc().bits(psc)); I'm going to let you figure out the value of the prescaler, psc. Remember that the frequency of the counter is apb1 / (psc + 1) and that apb1 is 8 MHz.","breadcrumbs":"Clocks and timers » Initialization » Initialization","id":"87","title":"Initialization"},"88":{"body":"The timer should now be properly initialized. All that's left is to implement the delay function using the timer. First thing we have to do is set the autoreload register (ARR) to make the timer go off in ms milliseconds. Because the counter operates at 1 KHz, the autoreload value will be the same as ms. // Set the timer to go off in `ms` ticks // 1 tick = 1 ms tim6.arr.write(|w| w.arr().bits(ms)); Next, we need to enable the counter. It will immediately start counting. // CEN: Enable the counter tim6.cr1.modify(|_, w| w.cen().set_bit()); Now we need to wait until the counter reaches the value of the autoreload register, ms, then we'll know that ms milliseconds have passed. That condition is known as an update event and its indicated by the UIF bit of the status register (SR). // Wait until the alarm goes off (until the update event occurs) while !tim6.sr.read().uif().bit_is_set() {} This pattern of just waiting until some condition is met, in this case that UIF becomes 1, is known as busy waiting and you'll see it a few more times in this text :-). Finally, we must clear (set to 0) this UIF bit. If we don't, next time we enter the delay function we'll think the update event has already happened and skip over the busy waiting part. // Clear the update event flag tim6.sr.modify(|_, w| w.uif().clear_bit()); Now, put this all together and check if it works as expected.","breadcrumbs":"Clocks and timers » Busy waiting » Busy waiting","id":"88","title":"Busy waiting"},"89":{"body":"#![no_main]\n#![no_std] use aux9::{entry, switch_hal::OutputSwitch, tim6}; #[inline(never)]\nfn delay(tim6: &tim6::RegisterBlock, ms: u16) { // Set the timer to go off in `ms` ticks // 1 tick = 1 ms tim6.arr.write(|w| w.arr().bits(ms)); // CEN: Enable the counter tim6.cr1.modify(|_, w| w.cen().set_bit()); // Wait until the alarm goes off (until the update event occurs) while !tim6.sr.read().uif().bit_is_set() {} // Clear the update event flag tim6.sr.modify(|_, w| w.uif().clear_bit());\n} #[entry]\nfn main() -> ! { let (leds, rcc, tim6) = aux9::init(); let mut leds = leds.into_array(); // Power on the TIM6 timer rcc.apb1enr.modify(|_, w| w.tim6en().set_bit()); // OPM Select one pulse mode // CEN Keep the counter disabled for now tim6.cr1.write(|w| w.opm().set_bit().cen().clear_bit()); // Configure the prescaler to have the counter operate at 1 KHz // APB1_CLOCK = 8 MHz // PSC = 7999 // 8 MHz / (7999 + 1) = 1 KHz // The counter (CNT) will increase on every millisecond tim6.psc.write(|w| w.psc().bits(7_999)); let ms = 50; loop { for curr in 0..8 { let next = (curr + 1) % 8; leds[next].on().unwrap(); delay(tim6, ms); leds[curr].off().unwrap(); delay(tim6, ms); } }\n}","breadcrumbs":"Clocks and timers » Putting it all together » Putting it all together","id":"89","title":"Putting it all together"},"9":{"body":"Lots of things! Microcontrollers are the central part of systems known as embedded systems. These systems are everywhere but you don't usually notice them. These systems control the brakes of your car, wash your clothes, print your documents, keep you warm, keep you cool, optimize the fuel consumption of your car, etc. The main trait of these systems is that they operate without user intervention even if they expose a user interface as a washing machine does; most of their operation is done on their own. The other common trait of these systems is that they control a process. And for that these systems usually have one or more sensors and one or more actuators. For example, an HVAC system has several sensors, thermometers, and humidity sensors spread across some areas, and several actuators as well, heating elements and fans connected to ducts.","breadcrumbs":"Background » What can you do with a microcontroller?","id":"9","title":"What can you do with a microcontroller?"},"90":{"body":"This is what we'll be using. I hope your computer has one! Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but with the communication protocol that this cable is/was usually used for. So what's this serial communication ? It's an asynchronous communication protocol where two devices exchange data serially , as in one bit at a time, using two data lines (plus a common ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock signal. Instead both parties must agree on how fast data will be sent along the wire before the communication occurs. This protocol allows duplex communication as data can be sent from A to B and from B to A simultaneously. We'll be using this protocol to exchange data between the microcontroller and your computer. In contrast to the ITM protocol we have used before, with the serial communication protocol you can send data from your computer to the microcontroller. The next practical question you probably want to ask is: How fast can we send data through this protocol? This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 to 2 stop bits . The speed of the protocol is known as baud rate and it's quoted in bits per second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps. To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data rate will probably be lower because of processing times on the slower side of the communication (the microcontroller). Today's computers don't support the serial communication protocol. So you can't directly connect your computer to the microcontroller. But that's where the serial module comes in. This module will sit between the two and expose a serial interface to the microcontroller and an USB interface to your computer. The microcontroller will see your computer as another serial device and your computer will see the microcontroller as a virtual serial device. Now, let's get familiar with the serial module and the serial communication tools that your OS offers. Pick a route: *nix Windows","breadcrumbs":"Serial communication » Serial communication","id":"90","title":"Serial communication"},"91":{"body":"","breadcrumbs":"Serial communication » *nix tooling » *nix tooling","id":"91","title":"*nix tooling"},"92":{"body":"With newer revisions, if you connect the discovery board to your computer you should see a new TTY device appear in /dev. $ # Linux\n$ dmesg | tail | grep -i tty\n[13560.675310] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device This is the USB <-> Serial device. On Linux, it's named tty* (usually ttyACM* or ttyUSB*). If you don't see the device appear then you probably have an older revision of the board; check the next section, which contains instructions for older revisions. If you do have a newer revision skip the next section and move to the \"minicom\" section.","breadcrumbs":"Serial communication » *nix tooling » Newer revisions of the discovery board","id":"92","title":"Newer revisions of the discovery board"},"93":{"body":"Connect the serial module to your computer and let's find out what name the OS assigned to it. NOTE On macs, the USB device will named like this: /dev/cu.usbserial-*. You won't find it using dmesg, instead use ls -l /dev | grep cu.usb and adjust the following commands accordingly! $ dmesg | grep -i tty\n(..)\n[ +0.000155] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0 But what's this ttyUSB0 thing? It's a file of course! Everything is a file in *nix: $ ls -l /dev/ttyUSB0\ncrw-rw-rw- 1 root uucp 188, 0 Oct 27 00:00 /dev/ttyUSB0 NOTE if the permissions above is crw-rw----, the udev rules have not been set correctly see udev rules You can send out data by simply writing to this file: $ echo 'Hello, world!' > /dev/ttyUSB0 You should see the TX (red) LED on the serial module blink, just once and very fast!","breadcrumbs":"Serial communication » *nix tooling » Older revisions of the discovery board / external serial module","id":"93","title":"Older revisions of the discovery board / external serial module"},"94":{"body":"Dealing with serial devices using echo is far from ergonomic. So, we'll use the program minicom to interact with the serial device using the keyboard. We must configure minicom before we use it. There are quite a few ways to do that but we'll use a .minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following contents: $ cat ~/.minirc.dfl\npu baudrate 115200\npu bits 8\npu parity N\npu stopbits 1\npu rtscts No\npu xonxoff No NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it. That file should be straightforward to read (except for the last two lines), but nonetheless let's go over it line by line: pu baudrate 115200. Sets baud rate to 115200 bps. pu bits 8. 8 bits per frame. pu parity N. No parity check. pu stopbits 1. 1 stop bit. pu rtscts No. No hardware control flow. pu xonxoff No. No software control flow. Once that's in place, we can launch minicom. $ # NOTE you may need to use a different device here\n$ minicom -D /dev/ttyACM0 -b 115200 This tells minicom to open the serial device at /dev/ttyACM0 and set its baud rate to 115200. A text-based user interface (TUI) will pop out. You can now send data using the keyboard! Go ahead and type something. Note that the TUI will not echo back what you type but, if you are using an external module, you may see some LED on the module blink with each keystroke.","breadcrumbs":"Serial communication » *nix tooling » All revisions: minicom","id":"94","title":"All revisions: minicom"},"95":{"body":"minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On mac, the shortcuts start with the Meta key. Some useful commands below: Ctrl+A + Z. Minicom Command Summary Ctrl+A + C. Clear the screen Ctrl+A + X. Exit and reset Ctrl+A + Q. Quit with no reset NOTE mac users: In the above commands, replace Ctrl+A with Meta.","breadcrumbs":"Serial communication » *nix tooling » minicom commands","id":"95","title":"minicom commands"},"96":{"body":"Start by unplugging your discovery board. Before plugging the discovery board or the serial module, run the following command on the terminal: $ mode It will print a list of devices that are connected to your computer. The ones that start with COM in their names are serial devices. This is the kind of device we'll be working with. Take note of all the COM ports mode outputs before plugging the serial module. Now, plug the discovery board and run the mode command again. If you see a new COM port appear on the list then you have a newer revision of the discovery and that's the COM port assigned to the serial functionality on the discovery. You can skip the next paragraph. If you didn't get a new COM port then you probably have an older revision of the discovery. Now plug the serial module; you should see new COM port appear; that's the COM port of the serial module. Now launch putty. A GUI will pop out. On the starter screen, which should have the \"Session\" category open, pick \"Serial\" as the \"Connection type\". On the \"Serial line\" field enter the COM device you got on the previous step, for example COM3. Next, pick the \"Connection/Serial\" category from the menu on the left. On this new view, make sure that the serial port is configured as follows: \"Speed (baud)\": 115200 \"Data bits\": 8 \"Stop bits\": 1 \"Parity\": None \"Flow control\": None Finally, click the Open button. A console will show up now: If you type on this console, the TX (red) LED on the Serial module should blink. Each key stroke should make the LED blink once. Note that the console won't echo back what you type so the screen will remain blank.","breadcrumbs":"Serial communication » Windows tooling » Windows tooling","id":"96","title":"Windows tooling"},"97":{"body":"We've tested sending data. It's time to test receiving it. Except that there's no other device that can send us some data ... or is there? Enter: loopbacks You can send data to yourself! Not very useful in production but very useful for debugging.","breadcrumbs":"Serial communication » Loopbacks » Loopbacks","id":"97","title":"Loopbacks"},"98":{"body":"Connect the TXO and the RXI pins of the serial module together using a male to male jumper wire as shown above. Now enter some text into minicom/PuTTY and observe. What happens? You should see three things: As before, the TX (red) LED blinks on each key press. But now the RX (green) LED blinks on each key press as well! This indicates that the serial module is receiving some data; the one it just sent. Finally, on the minicom/PuTTY console, you should see that what you type echoes back to the console.","breadcrumbs":"Serial communication » Loopbacks » Older board revision / external serial module","id":"98","title":"Older board revision / external serial module"},"99":{"body":"If you have a newer revision of the board you can set up a loopback by shorting the PC4 and PC5 pins using a female to female jumper wire, like you did for the SWO pin . You should now be able to send data to yourself. Now try to enter some text into minicom/PuTTY and observe. NOTE : To rule out the possibility of the existing firmware doing weird things to the serial pins (PC4 and PC5) we recommend holding the reset button while you enter text into minicom/PuTTY. If all is working you should see what you type echoed back to minicom/PuTTY console. Now that you are familiar with sending and receiving data over serial port using minicom/PuTTY, let's make your microcontroller and your computer talk!","breadcrumbs":"Serial communication » Loopbacks » Newer board revision","id":"99","title":"Newer board revision"}},"length":177,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"85":{"tf":1.0}}}},"1":{"_":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"69":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"1":{"5":{"5":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"1":{"df":3,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0}}},"2":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":3.1622776601683795}}},"1":{".":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"3":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":3,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{"5":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}},"s":{":":{"4":{"7":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"7":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"142":{"tf":1.0}}},"6":{".":{"1":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}},"s":{":":{"4":{"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"3":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"44":{"tf":1.0}}},"5":{"df":1,"docs":{"44":{"tf":1.0}}},":":{"0":{"0":{"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":3.0}}},"1":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}},"4":{"0":{"3":{":":{"6":{"0":{"0":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{":":{"3":{"7":{"4":{"b":{"df":2,"docs":{"33":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"168":{"tf":1.0},"18":{"tf":1.0}}},"5":{"df":3,"docs":{"118":{"tf":1.0},"14":{"tf":1.0},"67":{"tf":1.0}}},"6":{"df":2,"docs":{"14":{"tf":1.0},"70":{"tf":1.0}}},"7":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"0":{"0":{"0":{"1":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"f":{"6":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"3":{"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"168":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"_":{"1":{"1":{"0":{"0":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"1":{"0":{"0":{"0":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"{":{":":{"0":{"8":{"b":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":2.0},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":3.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":2,"docs":{"62":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"4":{"8":{"3":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"1":{"9":{"4":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"f":{"0":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"4":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.0}}},"8":{"df":1,"docs":{"65":{"tf":1.0}}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"1":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"3":{"0":{"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"a":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"c":{"df":2,"docs":{"66":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"c":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"c":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"5":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"c":{"4":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"7":{"4":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"6":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"0":{"0":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"9":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"b":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"df":3,"docs":{"69":{"tf":4.898979485566356},"78":{"tf":1.0},"79":{"tf":3.3166247903554}}},"1":{"0":{"0":{"3":{"6":{"4":{"2":{"2":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"74":{"tf":1.0}}},"9":{"4":{"df":6,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"76":{"tf":1.4142135623730951}},"f":{"4":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"3":{"a":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"f":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"3":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":2.0},"78":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"7":{"4":{"b":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"4":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"8":{"0":{"0":{"1":{"0":{"0":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"1":{"8":{"df":3,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"0":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"77":{"tf":1.0}}},"8":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"5":{"0":{"0":{"0":{"4":{"0":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"2":{"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"c":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":9,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"4":{"df":8,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"f":{"0":{"df":3,"docs":{"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"a":{"df":1,"docs":{"63":{"tf":1.0}}},"d":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"8":{"1":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"2":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"5":{"a":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"6":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"9":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"a":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"5":{"c":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"c":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"6":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"4":{"8":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"4":{"2":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":2.23606797749979},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"1":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"b":{"5":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"a":{"a":{"a":{"a":{"a":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"{":{":":{"0":{"2":{"df":0,"docs":{},"x":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"4":{"df":0,"docs":{},"x":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{",":{"5":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"3":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"7":{"1":{"8":{"7":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{".":{"2":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{".":{"0":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}},"6":{"4":{"4":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"124":{"tf":1.0},"138":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772}},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"1":{"3":{"2":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"6":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"8":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"df":15,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"77":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"2":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":2.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"7":{"9":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{",":{"2":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":5,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":2.23606797749979},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":9,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":1.4142135623730951}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"7":{"6":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"3":{"4":{"df":2,"docs":{"111":{"tf":1.0},"115":{"tf":1.0}}},"df":2,"docs":{"171":{"tf":2.0},"172":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":10,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"78":{"tf":1.0}},"g":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"3":{"4":{"2":{"1":{"7":{"7":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{".":{"6":{"7":{"5":{"3":{"1":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},":":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"75":{"tf":1.0}}},"4":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"6":{"3":{"3":{"9":{"2":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"0":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"66":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"80":{"tf":1.0}}},"7":{"3":{"3":{"6":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":3.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":3.4641016151377544},"76":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"7":{".":{"9":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.0}}},"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"64":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}},"8":{".":{"0":{"4":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"135":{"tf":1.0}}},"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"7":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"9":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":6,"docs":{"66":{"tf":2.449489742783178},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0}}},"9":{"1":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"132":{"tf":1.0}}},"5":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"132":{"tf":1.0}}},"df":5,"docs":{"107":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":44,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":4.58257569495584},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":3.0},"72":{"tf":2.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":4.47213595499958},"76":{"tf":1.7320508075688772},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"6":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":5,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"66":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},".":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"7":{"df":1,"docs":{"17":{"tf":1.0}}},"8":{"8":{"8":{"1":{"8":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"1":{"5":{"6":{"0":{"8":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"168":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"/":{"0":{"9":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"78":{"tf":1.0}}},"8":{"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"0":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{":":{"0":{"5":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"128":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"1":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"138":{"tf":2.23606797749979}}},"df":5,"docs":{"44":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"2":{".":{"4":{".":{"9":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"4":{"1":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"165":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"86":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"77":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.0},"75":{"tf":1.0}}},"4":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"3":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"4":{"8":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"5":{"0":{"df":2,"docs":{"131":{"tf":1.0},"137":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"148":{"tf":1.0}},"k":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"9":{"df":1,"docs":{"44":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"93":{"tf":1.0}}},"8":{".":{"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{".":{"8":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"6":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"66":{"tf":2.449489742783178}}},"9":{"0":{"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.3166247903554},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"f":{"3":{"8":{"df":0,"docs":{},"f":{"6":{"b":{".":{".":{"9":{"5":{"8":{"6":{"0":{"a":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"8":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"9":{"0":{"0":{"df":1,"docs":{"105":{"tf":2.0}}},"6":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"2":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"v":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"4":{"9":{"9":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"0":{":":{"1":{"0":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"8":{"8":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}},"2":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"40":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":2.23606797749979}}},"3":{"3":{"3":{"df":7,"docs":{"166":{"tf":1.4142135623730951},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.0}}},"df":0,"docs":{}},"7":{"7":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"0":{"df":1,"docs":{"135":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"4":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"2":{".":{"3":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":14,"docs":{"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"138":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"73":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}}},"4":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.7320508075688772}}},"df":1,"docs":{"124":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"9":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"106":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":5,"docs":{"106":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951}}},"4":{"4":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}},"5":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"56":{"tf":1.0}}},"6":{"6":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}},"7":{"1":{"2":{"3":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"132":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}},"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":16,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"173":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.7320508075688772},"71":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"5":{".":{"1":{".":{"1":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":0,"docs":{},"k":{"b":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"66":{"tf":3.3166247903554}}},"8":{"6":{"1":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"66":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.0}}},"1":{"df":1,"docs":{"74":{"tf":1.0}}},"2":{"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"3":{"6":{"8":{"7":{"0":{"9":{"1":{"2":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.0}}},"5":{"5":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"138":{"tf":1.0}}},"6":{"0":{"df":4,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":2,"docs":{"69":{"tf":1.0},"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"7":{"0":{"df":3,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"71":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":9,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"173":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"84":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":1,"docs":{"173":{"tf":1.0}}},"v":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}},"6":{".":{"4":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"1":{"2":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"9":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{":":{"8":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"5":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"6":{"6":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"1":{"7":{":":{"2":{"9":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":7,"docs":{"131":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"7":{".":{"1":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"3":{"df":1,"docs":{"138":{"tf":1.0}}},"4":{"9":{"7":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"9":{"7":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"67":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"8":{".":{"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"8":{"df":1,"docs":{"85":{"tf":1.0}}},"a":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"9":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"4":{"df":1,"docs":{"85":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"8":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"f":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"1":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"3":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"6":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"6":{"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"7":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"64":{"tf":1.4142135623730951}}},"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"8":{"3":{"2":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"8":{"df":1,"docs":{"129":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"7":{"2":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":20,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"136":{"tf":2.8284271247461903},"65":{"tf":2.23606797749979},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"9":{",":{"6":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"4":{".":{"1":{"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"132":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"5":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.449489742783178},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"107":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":13,"docs":{"113":{"tf":1.4142135623730951},"131":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.7320508075688772}}},"_":{"_":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"107":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"142":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":10,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":3.7416573867739413}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"5":{"1":{"df":0,"docs":{},"e":{"7":{"c":{"3":{"d":{"a":{"a":{"d":{"2":{"a":{"df":0,"docs":{},"f":{"2":{"5":{"1":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"f":{"2":{"b":{"c":{"7":{"9":{"9":{"0":{"b":{"1":{"3":{"7":{"3":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"6":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"1":{"8":{"c":{"0":{"6":{"0":{"0":{"1":{"4":{"a":{"5":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"0":{"2":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":1,"docs":{"56":{"tf":1.0}},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"76":{"tf":1.0}}}},"v":{"df":15,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"56":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"159":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.7320508075688772},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"139":{"tf":1.7320508075688772},"140":{"tf":3.7416573867739413},"141":{"tf":2.449489742783178},"142":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":2.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"148":{"tf":1.0},"166":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"145":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"l":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"92":{"tf":1.0}}},"t":{"df":1,"docs":{"51":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"146":{"tf":1.0},"77":{"tf":1.0}}}},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"116":{"tf":1.0},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0}}},"d":{"df":11,"docs":{"143":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"37":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":4.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"17":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":29,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":2.449489742783178},"130":{"tf":2.449489742783178},"131":{"tf":3.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.7320508075688772},"175":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.7320508075688772},"76":{"tf":3.1622776601683795},"77":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907}}}}}}},"df":3,"docs":{"143":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"65":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"l":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":18,"docs":{"104":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"168":{"tf":1.0},"176":{"tf":1.0},"35":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"85":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"90":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}}}},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}},"k":{"a":{"df":3,"docs":{"14":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"118":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}},"g":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":22,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"45":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"135":{"tf":1.0},"144":{"tf":1.0},"149":{"tf":1.0},"77":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":12,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.7320508075688772}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"135":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"150":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.4142135623730951},"172":{"tf":1.0},"65":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"106":{"tf":1.7320508075688772},"119":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"90":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"b":{"1":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"86":{"tf":2.6457513110645907},"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":2,"docs":{"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":2.449489742783178}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"141":{"tf":2.0},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"103":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"12":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"155":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"55":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"138":{"tf":1.0},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"28":{"tf":1.0}}}}},"x":{"df":1,"docs":{"118":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"84":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"15":{"tf":1.0},"56":{"tf":1.7320508075688772},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":2,"docs":{"65":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":5,"docs":{"106":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"m":{"'":{"df":2,"docs":{"28":{"tf":1.0},"52":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":24,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"37":{"tf":2.0},"41":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.449489742783178},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"56":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"86":{"tf":1.4142135623730951},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}},"m":{"df":3,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"65":{"tf":2.6457513110645907},"66":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"116":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"132":{"tf":1.0},"44":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"153":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"148":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"t":{"+":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"1":{"1":{"5":{"2":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"121":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"135":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"169":{"tf":1.0},"51":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"3":{"7":{"4":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"4":{"0":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"8":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"1":{"1":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}},"4":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}}}},"{":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"1":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"72":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"8":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"159":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"105":{"tf":1.0},"157":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"159":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"140":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"x":{"df":3,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0}},"i":{"df":7,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"b":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":4.58257569495584},"75":{"tf":1.0},"76":{"tf":1.0}}}},"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"102":{"tf":1.7320508075688772},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"10":{"tf":1.0},"148":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"158":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"143":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":11,"docs":{"0":{"tf":1.0},"113":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0},"59":{"tf":1.0},"74":{"tf":2.0},"78":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}},"u":{"d":{"df":8,"docs":{"105":{"tf":1.0},"118":{"tf":2.23606797749979},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":9,"docs":{"14":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"170":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"85":{"tf":1.0},"88":{"tf":1.0}}}}},"df":7,"docs":{"118":{"tf":1.0},"145":{"tf":1.7320508075688772},"158":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.0},"129":{"tf":1.0},"141":{"tf":1.0},"170":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"80":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"172":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0}},"n":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"52":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"df":18,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"18":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"131":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"69":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"151":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.7320508075688772}}}}},"d":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951}}},"df":6,"docs":{"28":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772}}}}}}},"t":{"df":27,"docs":{"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":2.449489742783178},"78":{"tf":2.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.8284271247461903},"94":{"tf":2.0},"96":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"129":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":4.358898943540674},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":11,"docs":{"111":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":12,"docs":{"113":{"tf":2.0},"166":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"78":{"tf":2.6457513110645907},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}},"g":{"df":1,"docs":{"159":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":2.0},"123":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"115":{"tf":1.0}}}}},"df":15,"docs":{"111":{"tf":3.0},"112":{"tf":1.4142135623730951},"113":{"tf":2.6457513110645907},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"118":{"tf":2.6457513110645907},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"17":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951}}}}}}},"z":{"df":5,"docs":{"113":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":35,"docs":{"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":2.449489742783178},"139":{"tf":1.0},"14":{"tf":3.3166247903554},"140":{"tf":2.6457513110645907},"141":{"tf":1.7320508075688772},"157":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"92":{"tf":1.7320508075688772},"93":{"tf":1.0},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":14,"docs":{"0":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"3":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":4,"docs":{"105":{"tf":1.0},"123":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}},"r":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"tf":2.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":9,"docs":{"110":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":3.1622776601683795},"65":{"tf":2.23606797749979},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"171":{"tf":3.4641016151377544},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":3.4641016151377544},"66":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":2.23606797749979},"71":{"tf":3.7416573867739413},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":2.23606797749979},"130":{"tf":2.23606797749979},"131":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":4,"docs":{"74":{"tf":2.449489742783178},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951}}}},"s":{"df":1,"docs":{"69":{"tf":2.0}}}},"t":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"u":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":2.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"df":5,"docs":{"105":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":2.0},"131":{"tf":2.449489742783178},"148":{"tf":1.0}}}}}},"g":{"df":3,"docs":{"159":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"1":{"tf":1.0},"104":{"tf":1.0},"139":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"139":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"118":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"155":{"tf":1.0}}},"i":{"df":3,"docs":{"107":{"tf":1.0},"52":{"tf":1.0},"88":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"118":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"14":{"tf":1.0}}}},"x":{"df":1,"docs":{"76":{"tf":1.0}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":18,"docs":{"103":{"tf":1.7320508075688772},"105":{"tf":3.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":3.0},"148":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"56":{"tf":2.23606797749979},"65":{"tf":1.0},"69":{"tf":1.0},"90":{"tf":1.0}},"s":{"/":{"df":1,"docs":{"105":{"tf":1.0}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}},":":{"1":{"0":{"7":{"2":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"6":{"8":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},":":{"\\":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"\\":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.4142135623730951}},"s":{"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"47":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"38":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"102":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"14":{"tf":2.23606797749979},"164":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"138":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"l":{"df":15,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"106":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":2.0},"55":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"147":{"tf":2.0},"159":{"tf":1.0},"60":{"tf":1.0}}}},"c":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"133":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"129":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"55":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"102":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":3.3166247903554},"67":{"tf":2.0}}}}}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"62":{"tf":1.0},"66":{"tf":3.1622776601683795},"71":{"tf":3.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":23,"docs":{"12":{"tf":1.0},"159":{"tf":1.0},"167":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":3.1622776601683795},"55":{"tf":2.0},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":4,"docs":{"63":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"103":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"60":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"20":{"tf":1.4142135623730951},"28":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":1.0},"71":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"!":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}},"h":{"3":{"4":{"0":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"141":{"tf":1.0},"67":{"tf":2.0},"84":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"45":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"80":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":2,"docs":{"103":{"tf":1.0},"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"k":{"df":20,"docs":{"113":{"tf":1.0},"119":{"tf":1.0},"140":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.0},"18":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"115":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":5,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.6457513110645907},"59":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"138":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"3":{"tf":1.0},"51":{"tf":1.0}}}},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"171":{"tf":1.7320508075688772},"65":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"124":{"tf":1.7320508075688772},"154":{"tf":1.0},"158":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":2.449489742783178},"90":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"h":{"7":{"1":{"1":{"c":{"df":0,"docs":{},"e":{"9":{"b":{"d":{"6":{"8":{"a":{"6":{"3":{"2":{"8":{"df":0,"docs":{},"f":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"165":{"tf":1.0},"48":{"tf":1.0}}}}}},"df":13,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"76":{"tf":1.0}},"r":{"df":2,"docs":{"105":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"78":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":33,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"m":{"3":{"df":1,"docs":{"96":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"96":{"tf":2.8284271247461903}},"e":{"df":6,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":33,"docs":{"104":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":5.385164807134504},"66":{"tf":3.4641016151377544},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.23606797749979},"96":{"tf":1.4142135623730951}},"s":{":":{"3":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"r":{"c":{"df":1,"docs":{"14":{"tf":2.0}},"i":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"159":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":14,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.1622776601683795}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"132":{"tf":2.0},"133":{"tf":2.0},"16":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"168":{"tf":2.0},"20":{"tf":1.0},"56":{"tf":7.54983443527075},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"105":{"tf":1.0},"14":{"tf":1.0},"148":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":29,"docs":{"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"135":{"tf":1.0},"17":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"8":{"tf":1.0},"90":{"tf":2.8284271247461903},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"113":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":1,"docs":{"67":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"118":{"tf":2.0},"128":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"55":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.23606797749979},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"118":{"tf":1.0},"166":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"111":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":3.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"129":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":2.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"153":{"tf":1.0}}}}},"df":12,"docs":{"129":{"tf":1.7320508075688772},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"85":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"m":{"df":1,"docs":{"10":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"34":{"tf":1.4142135623730951},"67":{"tf":1.0},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":3,"docs":{"131":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":16,"docs":{"104":{"tf":1.0},"107":{"tf":1.7320508075688772},"138":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"65":{"tf":2.8284271247461903},"66":{"tf":5.5677643628300215},"67":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":23,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":2.23606797749979},"158":{"tf":1.4142135623730951},"172":{"tf":1.0},"176":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"1":{"tf":1.0},"137":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"34":{"tf":1.0},"53":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"12":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"145":{"tf":1.7320508075688772}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}},"y":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"<":{"(":{")":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{"+":{"1":{"4":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":2.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"168":{"tf":2.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"42":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"137":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.3166247903554},"55":{"tf":1.4142135623730951},"56":{"tf":3.605551275463989},"59":{"tf":1.0},"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"149":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"0":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"3":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"174":{"tf":1.4142135623730951}},"u":{"df":5,"docs":{"11":{"tf":1.0},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"1":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"14":{"tf":1.4142135623730951},"159":{"tf":1.0},"168":{"tf":2.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"166":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"56":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"44":{"tf":2.0},"93":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"138":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"95":{"tf":2.449489742783178}}},"c":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.0}}},"df":0,"docs":{}},"df":3,"docs":{"48":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"121":{"tf":1.0},"132":{"tf":1.0},"145":{"tf":1.4142135623730951},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"51":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"77":{"tf":1.7320508075688772}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"150":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"d":{"a":{"c":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"df":34,"docs":{"100":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"105":{"tf":2.23606797749979},"107":{"tf":2.6457513110645907},"124":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"77":{"tf":1.0},"90":{"tf":3.4641016151377544},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"154":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"1":{"7":{"df":0,"docs":{},"f":{".":{".":{"0":{"2":{"a":{"c":{"9":{"5":{"2":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"117":{"tf":1.0},"173":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"159":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":10,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"171":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"24":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}},"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":26,"docs":{"1":{"tf":1.0},"105":{"tf":2.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":3.1622776601683795},"66":{"tf":2.23606797749979},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}},"g":{"df":8,"docs":{"104":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}}}}}}},"df":1,"docs":{"90":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"166":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"86":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{"(":{"1":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":3,"docs":{"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"v":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":19,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":3.872983346207417},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":3.0},"85":{"tf":2.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":2.8284271247461903}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"=":{"'":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"65":{"tf":2.23606797749979},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":22,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"1":{"1":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":6,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"61":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.0}}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":2.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"128":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"124":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"51":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"3":{"/":{"0":{"0":{"4":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"116":{"tf":1.0},"117":{"tf":1.0}}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":2,"docs":{"116":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":11,"docs":{"116":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"147":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"c":{"df":34,"docs":{"11":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":2.449489742783178},"125":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":2.449489742783178},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":2.0},"90":{"tf":1.7320508075688772},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"96":{"tf":2.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"166":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"151":{"tf":2.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"73":{"tf":2.0},"79":{"tf":1.0},"81":{"tf":2.23606797749979}}}}},"m":{"df":1,"docs":{"150":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.0},"148":{"tf":1.0},"158":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"139":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"171":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"173":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"0":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":2.449489742783178}}},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"0":{"5":{"df":5,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":2.449489742783178}}},"6":{"df":2,"docs":{"70":{"tf":2.23606797749979},"71":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"144":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"118":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}},"m":{"a":{"df":2,"docs":{"148":{"tf":1.7320508075688772},"56":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"f":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}}},"o":{"c":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"166":{"tf":1.0},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.7320508075688772},"52":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}}}},"df":8,"docs":{"149":{"tf":1.0},"2":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{".":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":24,"docs":{"101":{"tf":1.0},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":9,"docs":{"124":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"n":{"df":1,"docs":{"86":{"tf":1.0}}},"r":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"162":{"tf":1.0},"40":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"14":{"tf":1.0},"168":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":4,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"141":{"tf":1.0},"70":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"163":{"tf":1.0},"28":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":16,"docs":{"165":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":1.0},"56":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}}}},"l":{"df":9,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"69":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":24,"docs":{"105":{"tf":1.0},"109":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"133":{"tf":1.0},"166":{"tf":1.4142135623730951},"173":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"80":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":5,"docs":{"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"df":7,"docs":{"133":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":7,"docs":{"108":{"tf":1.7320508075688772},"117":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":5,"docs":{"106":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"f":{".":{"df":0,"docs":{},"p":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":2.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"147":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"132":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"150":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.7320508075688772},"73":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"9":{"tf":1.0}}}}}}},"f":{"3":{"2":{"df":2,"docs":{"56":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":22,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"147":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":2.0},"56":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903},"68":{"tf":1.0},"70":{"tf":2.8284271247461903},"71":{"tf":2.6457513110645907},"9":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":1,"docs":{"133":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.4142135623730951},"171":{"tf":2.0},"51":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"71":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":12,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"109":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"162":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"88":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"171":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.3166247903554},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"133":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"128":{"tf":1.0},"15":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"140":{"tf":1.0}}},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"56":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"r":{"(":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":13,"docs":{"109":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"159":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"166":{"tf":1.7320508075688772},"168":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"s":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"118":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"c":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"d":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"34":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"1":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"133":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"s":{":":{"3":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"7":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":1,"docs":{"1":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"171":{"tf":1.4142135623730951},"54":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"153":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"118":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.7320508075688772},"76":{"tf":4.0},"78":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"100":{"tf":1.0},"124":{"tf":1.7320508075688772},"53":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":5,"docs":{"37":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907}},"e":{"c":{"df":1,"docs":{"56":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":24,"docs":{"10":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"145":{"tf":2.8284271247461903},"146":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.6457513110645907},"176":{"tf":1.4142135623730951},"33":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":3.7416573867739413},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"106":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"152":{"tf":1.0},"3":{"tf":1.0},"76":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":5,"docs":{"107":{"tf":1.0},"138":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"153":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":8,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"102":{"tf":1.7320508075688772},"132":{"tf":1.0},"14":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":6,"docs":{"129":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"69":{"tf":1.0}}}},"f":{"/":{"df":0,"docs":{},"f":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":2.0}}},"m":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951}}}},"3":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"2":{")":{".":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{")":{".":{"a":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"z":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":2.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772}}},"df":18,"docs":{"102":{"tf":2.23606797749979},"111":{"tf":2.0},"118":{"tf":2.0},"123":{"tf":2.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"159":{"tf":1.0},"33":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"155":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"101":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":2.449489742783178},"164":{"tf":2.449489742783178},"168":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"94":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"s":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":4,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}}}}},"n":{"df":1,"docs":{"9":{"tf":1.0}}},"q":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"148":{"tf":1.0},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"153":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"105":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"65":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":14,"docs":{"138":{"tf":1.7320508075688772},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.7320508075688772},"173":{"tf":2.0},"45":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":2.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"63":{"tf":2.0},"70":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"157":{"tf":1.0},"166":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"b":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}},"w":{"df":9,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":11,"docs":{"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.23606797749979},"138":{"tf":1.7320508075688772},"159":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"44":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"87":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":24,"docs":{"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"16":{"tf":1.0},"165":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"70":{"tf":2.8284271247461903},"71":{"tf":2.23606797749979},"78":{"tf":2.0},"85":{"tf":1.0},"93":{"tf":1.7320508075688772},"94":{"tf":2.0}}},"l":{"df":2,"docs":{"107":{"tf":1.0},"131":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"102":{"tf":1.0},"104":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"d":{"df":15,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":13,"docs":{"107":{"tf":1.0},"149":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"37":{"tf":1.0},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.7320508075688772},"175":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}}}},"x":{"df":8,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"m":{"df":1,"docs":{"135":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"1":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":5,"docs":{"51":{"tf":1.4142135623730951},"65":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"n":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":29,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}}},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"k":{"df":1,"docs":{"68":{"tf":2.0}}},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}},"df":5,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"158":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"1":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}},"x":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"175":{"tf":4.0},"55":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":2.0},"90":{"tf":2.0},"94":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"107":{"tf":1.0},"140":{"tf":1.7320508075688772},"159":{"tf":1.0},"166":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"154":{"tf":1.0},"2":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"t":{"2":{"3":{"2":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"93":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"110":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":2,"docs":{"14":{"tf":1.0},"150":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":27,"docs":{"1":{"tf":1.0},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"14":{"tf":1.0},"159":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.605551275463989},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"81":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"77":{"tf":1.0},"79":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"159":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"159":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"142":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":2.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"137":{"tf":2.6457513110645907}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"79":{"tf":1.0}}}}},"c":{"c":{"df":2,"docs":{"37":{"tf":2.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":34,"docs":{"107":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"166":{"tf":1.0},"169":{"tf":1.4142135623730951},"17":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"37":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.605551275463989},"64":{"tf":2.0},"65":{"tf":7.745966692414834},"66":{"tf":8.366600265340756},"67":{"tf":4.123105625617661},"69":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":3.4641016151377544},"74":{"tf":2.23606797749979},"75":{"tf":3.4641016151377544},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"10":{"tf":1.7320508075688772},"125":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":2.0},"65":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":1.0}}},"t":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0}},"n":{"df":3,"docs":{"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"d":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":1,"docs":{"137":{"tf":1.4142135623730951}},"u":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"7":{"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"0":{"4":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"3":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"20":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"106":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.0}}}},"df":25,"docs":{"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":6,"docs":{"141":{"tf":1.0},"142":{"tf":1.0},"51":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}},"o":{"d":{"df":8,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":4,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"81":{"tf":1.0}},"e":{".":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"78":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"80":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"74":{"tf":2.0},"78":{"tf":3.3166247903554},"79":{"tf":2.449489742783178},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951}}},"x":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"a":{"b":{"df":4,"docs":{"13":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"78":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"112":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"133":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":4,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"140":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"74":{"tf":1.0}}}}},"i":{"df":1,"docs":{"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":5,"docs":{"124":{"tf":1.0},"157":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178}},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":5.291502622129181}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"66":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"64":{"tf":1.0},"76":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":2.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"140":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"d":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"67":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"df":20,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"145":{"tf":1.0},"156":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"67":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"c":{"df":2,"docs":{"118":{"tf":1.0},"14":{"tf":1.4142135623730951}},"i":{"0":{"df":1,"docs":{"113":{"tf":2.23606797749979}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"113":{"tf":2.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"16":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"56":{"tf":3.3166247903554},"70":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"z":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"20":{"tf":1.0},"70":{"tf":3.7416573867739413},"71":{"tf":3.3166247903554},"93":{"tf":1.0}}}},"p":{"df":10,"docs":{"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.7320508075688772},"159":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":11,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0}}},"df":18,"docs":{"12":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"51":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}}},"t":{"df":7,"docs":{"10":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}},"l":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"118":{"tf":1.0},"133":{"tf":1.0},"163":{"tf":1.0},"52":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"a":{"d":{"a":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"v":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"df":4,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}}}},"o":{"d":{"df":2,"docs":{"132":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"52":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"154":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"a":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"m":{"df":5,"docs":{"103":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}}},"v":{"df":4,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}}},".":{"df":3,"docs":{"141":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"1":{"6":{"df":1,"docs":{"131":{"tf":1.7320508075688772}},"x":{"3":{"df":9,"docs":{"132":{"tf":2.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"2":{"c":{"1":{".":{"c":{"df":0,"docs":{},"r":{"2":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":11,"docs":{"1":{"tf":1.0},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"128":{"tf":2.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0}}},"df":1,"docs":{"155":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"65":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"a":{"df":4,"docs":{"146":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"i":{"df":1,"docs":{"134":{"tf":1.0}},"i":{"df":1,"docs":{"134":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"71":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":1.0}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":2.6457513110645907},"108":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"159":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"138":{"tf":2.6457513110645907},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"135":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"133":{"tf":1.4142135623730951},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":11,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"163":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"o":{"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":2.0},"48":{"tf":3.0},"59":{"tf":3.0},"62":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":2.8284271247461903},"66":{"tf":1.4142135623730951},"71":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":18,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"176":{"tf":1.0},"28":{"tf":1.0},"66":{"tf":1.0}},"i":{"df":14,"docs":{"103":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":2.449489742783178},"83":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":4,"docs":{"1":{"tf":1.0},"151":{"tf":1.7320508075688772},"81":{"tf":1.0},"84":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":14,"docs":{"104":{"tf":1.0},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"155":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":22,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"n":{"c":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"105":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":22,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.7320508075688772},"149":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"78":{"tf":1.7320508075688772},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":23,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"14":{"tf":1.0},"146":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"56":{"tf":1.0},"6":{"tf":1.0}},"r":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0}}}},"l":{"df":1,"docs":{"52":{"tf":1.0}}},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"149":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"124":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"162":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"65":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"44":{"tf":1.0},"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"1":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":2.23606797749979},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"10":{"tf":1.0},"141":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"76":{"tf":2.449489742783178},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":9,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"15":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":21,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":25,"docs":{"103":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}}}}}},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":2.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"a":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"129":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"165":{"tf":1.0},"4":{"tf":1.0},"65":{"tf":2.0},"70":{"tf":1.4142135623730951}}}}},"t":{"'":{"df":29,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":1.4142135623730951},"146":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"143":{"tf":1.0},"156":{"tf":1.0}}}},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"[":{"0":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"138":{"tf":1.0},"165":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"131":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"df":13,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"138":{"tf":1.7320508075688772},"140":{"tf":1.0},"165":{"tf":2.449489742783178},"17":{"tf":1.0},"19":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":1.7320508075688772}}}}}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.449489742783178},"77":{"tf":3.0},"78":{"tf":1.0},"90":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"134":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"172":{"tf":1.7320508075688772},"55":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"k":{"b":{"/":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.4142135623730951},"150":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"78":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"94":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"71":{"tf":1.0},"94":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":9,"docs":{"124":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"59":{"tf":2.449489742783178},"64":{"tf":3.872983346207417},"65":{"tf":2.23606797749979},"71":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}},"n":{"d":{"a":{"df":1,"docs":{"118":{"tf":1.0}}},"df":5,"docs":{"148":{"tf":1.0},"149":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":9,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"145":{"tf":1.0},"159":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"3":{"df":0,"docs":{},"g":{"d":{"2":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.0},"67":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"#":{"2":{"8":{"7":{"2":{"8":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":4,"docs":{"105":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"94":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"129":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"57":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"55":{"tf":1.0},"65":{"tf":3.0},"78":{"tf":1.4142135623730951}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"d":{"3":{"df":2,"docs":{"132":{"tf":1.0},"74":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":3,"docs":{"66":{"tf":2.449489742783178},"75":{"tf":2.0},"76":{"tf":2.0}}}},"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"154":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"131":{"tf":1.0},"168":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}},"v":{"df":7,"docs":{"148":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}},"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"1":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":43,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":2.449489742783178},"133":{"tf":3.3166247903554},"134":{"tf":1.4142135623730951},"135":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"150":{"tf":2.0},"151":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":2.6457513110645907},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":2.0},"66":{"tf":5.830951894845301},"67":{"tf":3.4641016151377544},"69":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":2.6457513110645907},"74":{"tf":3.1622776601683795},"75":{"tf":3.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":2.449489742783178},"80":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":2.23606797749979},"84":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"[":{"0":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"143":{"tf":1.4142135623730951},"65":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"105":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"137":{"tf":1.0},"159":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"'":{"df":38,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"77":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"38":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":2.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"5":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"73":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":21,"docs":{"100":{"tf":2.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"124":{"tf":2.23606797749979},"171":{"tf":1.7320508075688772},"172":{"tf":2.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":3.1622776601683795},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":2.449489742783178},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"k":{"/":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"45":{"tf":1.0}}},"2":{".":{"1":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":12,"docs":{"16":{"tf":1.0},"162":{"tf":1.7320508075688772},"33":{"tf":1.7320508075688772},"40":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"df":18,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"66":{"tf":2.6457513110645907},"75":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":1.0},"113":{"tf":1.7320508075688772},"166":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"62":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":3,"docs":{"20":{"tf":2.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":6,"docs":{"63":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"a":{"d":{"df":10,"docs":{"150":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":3.4641016151377544},"67":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":2.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":2.6457513110645907},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":8,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.7320508075688772},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"46":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"138":{"tf":1.0},"2":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"133":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":21,"docs":{"100":{"tf":1.0},"106":{"tf":2.23606797749979},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0},"51":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":39,"docs":{"1":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":3.1622776601683795},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"s":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"105":{"tf":1.0},"164":{"tf":1.4142135623730951}}}},"t":{"df":5,"docs":{"143":{"tf":1.0},"152":{"tf":1.0},"6":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.0}}}},"w":{"df":10,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.4142135623730951},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"s":{"b":{"df":1,"docs":{"137":{"tf":2.449489742783178}}},"df":2,"docs":{"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"g":{"1":{"2":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":14,"docs":{"128":{"tf":2.449489742783178},"129":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"166":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"b":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"t":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":2,"docs":{"69":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"51":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":3,"docs":{"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"166":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.0},"58":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":7,"docs":{"106":{"tf":2.0},"138":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.0},"71":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"158":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"137":{"tf":1.4142135623730951}},"i":{"c":{"df":6,"docs":{"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"159":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":2.23606797749979},"130":{"tf":2.0},"131":{"tf":2.6457513110645907},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"10":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":3.0},"138":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"171":{"tf":1.7320508075688772},"70":{"tf":1.0}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{"1":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":45,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"65":{"tf":3.872983346207417},"66":{"tf":3.0},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":35,"docs":{"10":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"102":{"tf":1.0},"14":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"12":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"158":{"tf":1.0},"170":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"84":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"78":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.23606797749979},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"128":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"159":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"124":{"tf":2.449489742783178},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"174":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"h":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":2.449489742783178}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"141":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"51":{"tf":1.0}}},"df":2,"docs":{"50":{"tf":1.7320508075688772},"51":{"tf":2.23606797749979}}}},"df":18,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":2.0},"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"n":{"df":11,"docs":{"105":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.4142135623730951},"159":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"142":{"tf":1.7320508075688772},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"128":{"tf":2.0},"148":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}},"u":{"df":1,"docs":{"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"108":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"109":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"95":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"df":2,"docs":{"10":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"157":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"106":{"tf":2.23606797749979},"135":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"137":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":5,"docs":{"105":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":51,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":2.23606797749979},"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.7320508075688772},"111":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.7320508075688772},"147":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"65":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":1.7320508075688772},"80":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":2.6457513110645907},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}}},"y":{"'":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":10,"docs":{"117":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":2.6457513110645907},"95":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":1,"docs":{"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}},"s":{")":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"s":{"df":2,"docs":{"138":{"tf":1.0},"162":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{":":{"=":{"\"":{"0":{"6":{"6":{"6":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"118":{"tf":2.23606797749979},"124":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"69":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.7320508075688772}},"l":{"df":6,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0}}},"r":{"df":3,"docs":{"78":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"78":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"131":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":25,"docs":{"1":{"tf":1.0},"102":{"tf":3.0},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":2.449489742783178},"118":{"tf":2.6457513110645907},"121":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.8284271247461903},"150":{"tf":1.0},"17":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"93":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":2.23606797749979},"98":{"tf":1.7320508075688772}},"e":{"'":{"df":3,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"165":{"tf":1.4142135623730951},"176":{"tf":2.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}}}},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"(":{")":{".":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"154":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":37,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"124":{"tf":1.0},"159":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"158":{"tf":2.449489742783178}}}}},"v":{".":{"df":0,"docs":{},"w":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":2.0}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":9,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":2.0},"158":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}},"w":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}}}},"s":{"=":{"5":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.449489742783178}},"p":{"4":{"3":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"113":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":2.23606797749979},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"24":{"tf":1.4142135623730951},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"77":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"145":{"tf":3.0},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":28,"docs":{"105":{"tf":2.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"65":{"tf":1.7320508075688772},"66":{"tf":3.605551275463989},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":4.123105625617661},"77":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"90":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"133":{"tf":1.0},"165":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"75":{"tf":1.0}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":8,"docs":{"106":{"tf":1.4142135623730951},"171":{"tf":2.6457513110645907},"172":{"tf":2.0},"173":{"tf":1.0},"175":{"tf":3.1622776601683795},"65":{"tf":2.0},"71":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":36,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":3.0},"143":{"tf":1.0},"146":{"tf":1.0},"17":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"140":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"w":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"92":{"tf":1.0},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"101":{"tf":1.4142135623730951},"128":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"53":{"tf":1.0},"92":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.7320508075688772}}}}}},"x":{"df":0,"docs":{},"t":{"df":31,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":2.6457513110645907},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"139":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}}},"x":{"df":7,"docs":{"46":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"3":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":24,"docs":{"142":{"tf":1.7320508075688772},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":3.3166247903554},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.4641016151377544},"65":{"tf":1.4142135623730951},"66":{"tf":3.0},"67":{"tf":3.3166247903554},"69":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"75":{"tf":1.0},"96":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}}}},"p":{"df":1,"docs":{"85":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"165":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"132":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"e":{"df":35,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"h":{"df":7,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"146":{"tf":1.0},"57":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"55":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":38,"docs":{"102":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"163":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.1622776601683795},"67":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":2.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}}},"p":{"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":15,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"152":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.0},"56":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"71":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"150":{"tf":1.0},"72":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"75":{"tf":2.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":7,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"55":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"149":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"162":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":4,"docs":{"77":{"tf":3.4641016151377544},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}},"df":4,"docs":{"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"166":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"k":{"df":10,"docs":{"106":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.0},"14":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"175":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"118":{"tf":1.0},"151":{"tf":1.0},"74":{"tf":1.0}}}}}},"c":{"df":9,"docs":{"124":{"tf":1.0},"170":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"df":45,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"111":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":2.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.0},"146":{"tf":1.0},"158":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"18":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":3.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":2.23606797749979},"96":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"148":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"102":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"143":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}},"o":{"c":{"d":{"'":{"df":3,"docs":{"166":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"g":{"d":{"b":{"df":6,"docs":{"63":{"tf":3.0},"64":{"tf":1.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.7320508075688772}}}}}},"df":33,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":2.0},"164":{"tf":2.23606797749979},"165":{"tf":1.7320508075688772},"166":{"tf":2.449489742783178},"169":{"tf":1.0},"17":{"tf":1.0},"176":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"38":{"tf":2.23606797749979},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"20":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"14":{"tf":2.0},"159":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"159":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":11,"docs":{"10":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"145":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"65":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":23,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.449489742783178},"3":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":33,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.23606797749979},"111":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.0},"176":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}}}}}},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"p":{"/":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"79":{"tf":1.0}}}},"a":{"1":{"0":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":11,"docs":{"12":{"tf":1.7320508075688772},"124":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.4142135623730951},"20":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}},"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.7320508075688772},"61":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":12,"docs":{"102":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.7320508075688772},"117":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}}}}}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"56":{"tf":1.0},"71":{"tf":2.23606797749979}},"k":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"47":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}}}},"s":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"t":{"df":17,"docs":{"106":{"tf":1.0},"128":{"tf":1.7320508075688772},"14":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"67":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"56":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"t":{"df":2,"docs":{"56":{"tf":1.0},"65":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"102":{"tf":1.0},"28":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":2.0},"39":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}},"y":{"df":1,"docs":{"65":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"70":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"6":{"df":1,"docs":{"129":{"tf":1.0}}},"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"c":{"4":{"df":3,"docs":{"101":{"tf":1.7320508075688772},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"101":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"b":{"df":1,"docs":{"10":{"tf":1.0}}},"df":10,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":2.0}},"e":{"1":{"1":{"df":1,"docs":{"74":{"tf":2.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"74":{"tf":2.23606797749979}}},"df":0,"docs":{},"r":{"df":5,"docs":{"105":{"tf":1.0},"140":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"52":{"tf":1.4142135623730951},"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"150":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":20,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":2.23606797749979},"152":{"tf":1.0},"154":{"tf":1.4142135623730951},"72":{"tf":1.7320508075688772},"74":{"tf":2.23606797749979},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":2.8284271247461903},"81":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"44":{"tf":2.23606797749979},"78":{"tf":2.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"140":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"135":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"90":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"d":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":3,"docs":{"166":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":3,"docs":{"10":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":2.8284271247461903}},"e":{"c":{"df":2,"docs":{"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":21,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":4.242640687119285},"111":{"tf":2.23606797749979},"115":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":2.8284271247461903},"123":{"tf":2.8284271247461903},"129":{"tf":1.0},"151":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"53":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":4.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":2.23606797749979},"82":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":10,"docs":{"158":{"tf":1.0},"171":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"139":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"140":{"tf":1.0},"143":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"155":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":2.23606797749979}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"c":{"a":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"g":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"x":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":2,"docs":{"67":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"44":{"tf":1.0},"96":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":2.6457513110645907},"16":{"tf":1.0},"173":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.0},"65":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"175":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"146":{"tf":1.0},"148":{"tf":1.0},"163":{"tf":2.23606797749979},"164":{"tf":2.23606797749979}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"p":{"df":3,"docs":{"85":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":18,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"166":{"tf":2.6457513110645907},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"74":{"tf":3.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.0},"96":{"tf":2.6457513110645907},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"133":{"tf":1.7320508075688772},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"146":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"8":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.0},"153":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":3.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}},"r":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"129":{"tf":1.0},"2":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"135":{"tf":1.0},"158":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}},"df":3,"docs":{"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"145":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"145":{"tf":1.4142135623730951},"159":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":12,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":8,"docs":{"109":{"tf":1.0},"118":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"67":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":22,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"2":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}}}}},"g":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"52":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"158":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"x":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":20,"docs":{"10":{"tf":1.0},"106":{"tf":1.7320508075688772},"131":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":2.8284271247461903},"174":{"tf":3.0},"175":{"tf":2.449489742783178},"65":{"tf":3.605551275463989},"66":{"tf":3.4641016151377544},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"df":0,"docs":{},"{":{":":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"33":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"162":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"13":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.0},"167":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.7320508075688772}}}}}},"c":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"66":{"tf":1.0}}}}},"df":1,"docs":{"102":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":10,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"166":{"tf":2.0},"3":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"152":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"65":{"tf":2.0},"72":{"tf":1.7320508075688772},"76":{"tf":2.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"14":{"tf":1.0},"153":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"78":{"tf":1.0},"87":{"tf":1.0}},"t":{"df":2,"docs":{"13":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":52,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.0},"169":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":3.0},"56":{"tf":2.23606797749979},"57":{"tf":2.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":4.0},"66":{"tf":4.795831523312719},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":2.449489742783178},"77":{"tf":1.7320508075688772},"78":{"tf":2.23606797749979},"79":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"94":{"tf":1.0}},"m":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"59":{"tf":1.0}}},"df":7,"docs":{"14":{"tf":1.0},"159":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"132":{"tf":1.0},"140":{"tf":2.0},"150":{"tf":1.0},"159":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"162":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"84":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"124":{"tf":2.8284271247461903},"125":{"tf":1.7320508075688772},"131":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.7320508075688772},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.3166247903554}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"c":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"0":{"df":0,"docs":{},"x":{"4":{"8":{"0":{"0":{"_":{"1":{"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"75":{"tf":2.8284271247461903},"77":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":4,"docs":{"106":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}},"df":1,"docs":{"94":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"140":{"tf":1.0},"143":{"tf":1.0}}},"s":{"df":5,"docs":{"1":{"tf":1.0},"150":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"157":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"107":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"86":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"t":{"df":7,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"17":{"tf":1.0},"39":{"tf":1.0},"96":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":2.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"q":{"4":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":10,"docs":{"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":3.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"95":{"tf":1.0}},"u":{"a":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":2.8284271247461903},"134":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"121":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"107":{"tf":1.0},"137":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"149":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"71":{"tf":2.6457513110645907},"75":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"56":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}},"0":{"df":7,"docs":{"168":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":5.291502622129181},"75":{"tf":5.385164807134504},"76":{"tf":4.123105625617661},"78":{"tf":2.449489742783178}}},"1":{"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"df":4,"docs":{"66":{"tf":3.872983346207417},"75":{"tf":4.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.8284271247461903}}},"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"4":{"df":2,"docs":{"66":{"tf":2.0},"85":{"tf":2.23606797749979}}},"5":{"df":1,"docs":{"85":{"tf":2.0}}},"7":{"df":5,"docs":{"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"75":{"tf":3.1622776601683795},"78":{"tf":2.0},"85":{"tf":1.4142135623730951}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"135":{"tf":1.7320508075688772},"136":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"163":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"86":{"tf":1.0}}}},"m":{"df":5,"docs":{"148":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"140":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}}},"w":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}}},"c":{"c":{".":{"a":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":3,"docs":{"138":{"tf":2.449489742783178},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"129":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.4142135623730951},"65":{"tf":2.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":37,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":2.449489742783178},"130":{"tf":1.7320508075688772},"131":{"tf":3.3166247903554},"132":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.7320508075688772},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"81":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":1,"docs":{"68":{"tf":1.0}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"2":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"14":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":17,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":2.0},"109":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"170":{"tf":1.0},"66":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"38":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":12,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"c":{"df":2,"docs":{"131":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"164":{"tf":1.4142135623730951},"44":{"tf":1.0},"56":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":28,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"128":{"tf":2.6457513110645907},"129":{"tf":3.872983346207417},"130":{"tf":2.23606797749979},"131":{"tf":3.1622776601683795},"148":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"175":{"tf":2.23606797749979},"56":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":1.0},"74":{"tf":4.123105625617661},"75":{"tf":3.0},"76":{"tf":2.8284271247461903},"77":{"tf":1.7320508075688772},"78":{"tf":6.164414002968976},"79":{"tf":3.7416573867739413},"80":{"tf":2.8284271247461903},"81":{"tf":2.449489742783178},"86":{"tf":3.7416573867739413},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"9":{"df":3,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"2":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"h":{"1":{"9":{"9":{"df":0,"docs":{},"f":{"1":{"3":{"5":{"9":{"5":{"0":{"1":{"d":{"5":{"c":{"7":{"1":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"2":{"df":0,"docs":{},"e":{"3":{"4":{"3":{"6":{"df":0,"docs":{},"f":{"a":{"3":{"8":{"c":{"d":{"6":{"df":0,"docs":{},"f":{"2":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"4":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"147":{"tf":1.0}}}},"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"138":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":14,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"156":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"a":{"d":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":3,"docs":{"138":{"tf":1.0},"141":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":3,"docs":{"65":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":2.0},"62":{"tf":2.0},"65":{"tf":2.23606797749979},"66":{"tf":3.0},"67":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178}}},"v":{"df":3,"docs":{"101":{"tf":1.0},"165":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"119":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":2,"docs":{"90":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"68":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":4,"docs":{"133":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"131":{"tf":1.4142135623730951},"143":{"tf":1.0},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.8284271247461903},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"124":{"tf":1.0},"14":{"tf":2.0},"166":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"78":{"tf":2.0}}}},"t":{"df":13,"docs":{"142":{"tf":1.0},"163":{"tf":1.4142135623730951},"176":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"65":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"11":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"10":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"m":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"107":{"tf":1.4142135623730951},"137":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":13,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"14":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":2.23606797749979},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":3,"docs":{"111":{"tf":1.0},"116":{"tf":1.7320508075688772},"17":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":2.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0}}}}}}},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":23,"docs":{"111":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":2.0},"93":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.449489742783178},"140":{"tf":1.0},"158":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":14,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":2.449489742783178},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.23606797749979},"63":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.23606797749979},"69":{"tf":2.6457513110645907},"83":{"tf":1.0},"84":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0}},"s":{":":{"1":{"0":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"7":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"9":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"166":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.0},"75":{"tf":1.0}}}}}},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"138":{"tf":2.0}}}},"p":{"c":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"t":{"c":{"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"154":{"tf":1.0}}},"df":6,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951}},"o":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"73":{"tf":1.0},"74":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":50,"docs":{"10":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"176":{"tf":1.0},"20":{"tf":2.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.6457513110645907},"64":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.7416573867739413},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"/":{"d":{"5":{"a":{"8":{"2":{"b":{"b":{"d":{"2":{"6":{"df":0,"docs":{},"e":{"1":{"a":{"d":{"8":{"b":{"7":{"4":{"0":{"1":{"df":0,"docs":{},"f":{"6":{"a":{"7":{"1":{"8":{"a":{"9":{"c":{"5":{"7":{"c":{"9":{"6":{"9":{"0":{"5":{"4":{"8":{"3":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}},"s":{":":{"3":{"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"df":2,"docs":{"18":{"tf":2.0},"56":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":17,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"149":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"6":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"168":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.7320508075688772}}}}}}},"w":{"df":2,"docs":{"44":{"tf":2.8284271247461903},"93":{"tf":1.7320508075688772}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"107":{"tf":1.0},"129":{"tf":1.0}}}}}},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"a":{"d":{"d":{"1":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"78":{"tf":2.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":18,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"172":{"tf":1.4142135623730951},"176":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.0},"140":{"tf":1.0},"56":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"146":{"tf":1.4142135623730951},"154":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0}}}},"w":{"df":3,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"78":{"tf":1.0}}}},"b":{"1":{"0":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"n":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"115":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"148":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"o":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"132":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}}},"d":{"a":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"df":0,"docs":{}},"df":9,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.7320508075688772}},"e":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"51":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"66":{"tf":2.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":13,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"154":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":37,"docs":{"101":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"144":{"tf":1.0},"165":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":2.23606797749979},"71":{"tf":2.0},"74":{"tf":2.8284271247461903},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":2.0},"137":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"170":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":3.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"75":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"m":{"df":1,"docs":{"74":{"tf":1.0}}},"n":{"df":1,"docs":{"140":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"175":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"59":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":3.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"n":{"d":{"df":23,"docs":{"102":{"tf":1.0},"103":{"tf":2.23606797749979},"104":{"tf":1.7320508075688772},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"149":{"tf":1.0},"166":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"90":{"tf":1.7320508075688772},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":9,"docs":{"128":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"38":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"140":{"tf":2.23606797749979},"142":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"1":{"tf":1.0},"124":{"tf":2.0},"128":{"tf":3.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.7320508075688772},"159":{"tf":2.23606797749979},"9":{"tf":1.7320508075688772}}}}},"t":{"df":7,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{")":{"*":{")":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}},"df":28,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":3.4641016151377544},"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":3.4641016151377544},"92":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.7320508075688772},"96":{"tf":3.1622776601683795},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"108":{"tf":2.0},"109":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":3,"docs":{"10":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"158":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"169":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"70":{"tf":1.0},"96":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}}}}}}},"df":24,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"15":{"tf":1.0},"171":{"tf":1.7320508075688772},"65":{"tf":3.1622776601683795},"66":{"tf":3.3166247903554},"67":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":4,"docs":{"111":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"128":{"tf":1.7320508075688772},"137":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"p":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.7320508075688772}}}}},"df":6,"docs":{"170":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":1,"docs":{"71":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":13,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"173":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":9,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":10,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":3,"docs":{"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"173":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"137":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"124":{"tf":1.4142135623730951}}},"df":5,"docs":{"111":{"tf":1.0},"170":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"56":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"159":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"t":{"df":5,"docs":{"140":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":2,"docs":{"14":{"tf":2.0},"39":{"tf":1.0}}}},"x":{"df":2,"docs":{"131":{"tf":2.0},"65":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":14,"docs":{"16":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"20":{"tf":3.4641016151377544},"51":{"tf":1.0},"56":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.23606797749979},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.6457513110645907},"70":{"tf":2.0},"71":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"112":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":2.23606797749979},"126":{"tf":2.23606797749979},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"146":{"tf":2.23606797749979}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"155":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"155":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":1,"docs":{"138":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"144":{"tf":1.4142135623730951},"59":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"110":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.0},"82":{"tf":1.0},"84":{"tf":1.0}}}},"v":{"df":3,"docs":{"13":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}}},"w":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"132":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":18,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"94":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"158":{"tf":1.0},"50":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"147":{"tf":1.0},"159":{"tf":1.0},"86":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"128":{"tf":1.0},"159":{"tf":1.4142135623730951},"4":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"175":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":5.744562646538029},"75":{"tf":2.23606797749979},"76":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":7,"docs":{"124":{"tf":1.0},"14":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"21":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":6,"docs":{"166":{"tf":1.0},"17":{"tf":1.0},"172":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":9,"docs":{"150":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":2.0},"59":{"tf":2.0},"64":{"tf":3.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"90":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.4142135623730951}},"n":{"df":3,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"84":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":2.6457513110645907}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}}}},"c":{"/":{"0":{"5":{"df":6,"docs":{"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":3.1622776601683795}}},"6":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"7":{"df":4,"docs":{"75":{"tf":2.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.0}}},"t":{"'":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"20":{"tf":1.0}},"e":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"175":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"166":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"124":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.7320508075688772},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"t":{"df":33,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"55":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"104":{"tf":1.4142135623730951},"65":{"tf":3.4641016151377544},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"u":{"df":10,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"129":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.7320508075688772},"86":{"tf":1.0},"88":{"tf":1.0}}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}},"c":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"106":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":10,"docs":{"162":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"65":{"tf":1.0},"67":{"tf":1.0}}},"df":17,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"118":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":2.23606797749979},"56":{"tf":1.4142135623730951},"65":{"tf":4.69041575982343},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"i":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":2,"docs":{"172":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.4142135623730951}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}}}},"m":{"3":{"2":{"df":1,"docs":{"56":{"tf":1.0}},"f":{"3":{"0":{"3":{"df":0,"docs":{},"v":{"c":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"t":{"6":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"79":{"tf":1.0}}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"78":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"14":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"147":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.4142135623730951}},"x":{".":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":5,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":3.3166247903554}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.4142135623730951}},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"df":19,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"48":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"108":{"tf":1.0},"151":{"tf":1.0},"94":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"144":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}}},"df":6,"docs":{"106":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":3.605551275463989},"76":{"tf":1.7320508075688772},"78":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"163":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"143":{"tf":1.0},"148":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"138":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"76":{"tf":1.0}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"62":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":7,"docs":{"132":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":15,"docs":{"113":{"tf":2.0},"116":{"tf":1.4142135623730951},"162":{"tf":1.0},"166":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.0},"159":{"tf":1.4142135623730951},"45":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}}}},"s":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"f":{"a":{"c":{"df":2,"docs":{"138":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"145":{"tf":1.7320508075688772}}}}}}}},"v":{"d":{"2":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"d":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"70":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"151":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"70":{"tf":1.0},"99":{"tf":1.0}}}},"y":{"df":1,"docs":{"138":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":8,"docs":{"174":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"149":{"tf":1.0},"68":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"124":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"100":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"113":{"tf":1.0}}}}},"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"145":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.8284271247461903}}}}}}}},"t":{"a":{"b":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.7320508075688772}},"l":{"df":5,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"174":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"92":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"105":{"tf":2.0},"11":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"144":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"28":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":19,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.1622776601683795},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.449489742783178},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.8284271247461903},"67":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":3.1622776601683795},"159":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0}}}}},"c":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"p":{"/":{"3":{"3":{"3":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":3,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951}}}},"df":4,"docs":{"105":{"tf":1.0},"173":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"156":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"94":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"df":1,"docs":{"166":{"tf":2.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"100":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":18,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"96":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"17":{"tf":2.23606797749979},"20":{"tf":3.0},"63":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"6":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"'":{"df":26,"docs":{"105":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"152":{"tf":1.0},"166":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}},"i":{"df":5,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":2,"docs":{"135":{"tf":2.449489742783178},"136":{"tf":3.0}}},"df":0,"docs":{}},"y":{"'":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"149":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"11":{"tf":1.0},"137":{"tf":1.4142135623730951},"14":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"145":{"tf":1.0},"149":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"141":{"tf":1.0},"142":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}}}},"u":{"df":6,"docs":{"133":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.0}}}},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"105":{"tf":2.449489742783178},"142":{"tf":1.0},"154":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"m":{"6":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"r":{"1":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"7":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"83":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":40,"docs":{"10":{"tf":1.7320508075688772},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"154":{"tf":2.0},"159":{"tf":1.0},"172":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"97":{"tf":1.0}},"r":{"df":8,"docs":{"105":{"tf":1.0},"149":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":4.0},"87":{"tf":2.23606797749979},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"p":{"df":2,"docs":{"157":{"tf":1.0},"67":{"tf":1.0}}}},"l":{";":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"x":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772}}}},"o":{",":{"0":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"129":{"tf":2.8284271247461903},"79":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"98":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"105":{"tf":2.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"168":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":15,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"p":{"df":7,"docs":{"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"159":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.0}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"3":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"150":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"132":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"175":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"k":{"df":4,"docs":{"141":{"tf":1.0},"154":{"tf":1.0},"55":{"tf":1.0},"86":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":4,"docs":{"135":{"tf":1.0},"159":{"tf":1.4142135623730951},"56":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"148":{"tf":1.7320508075688772},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}},"t":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":2.0},"59":{"tf":2.0}}}}}}}},"p":{"df":4,"docs":{"107":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":22,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"164":{"tf":2.0},"166":{"tf":1.0},"170":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"99":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"123":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"160":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"v":{"df":1,"docs":{"138":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":27,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"135":{"tf":2.0},"138":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"65":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":19,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"73":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":8,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"e":{"df":1,"docs":{"105":{"tf":1.0}}},"i":{"df":1,"docs":{"129":{"tf":1.0}}},"o":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":17,"docs":{"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"159":{"tf":1.0},"174":{"tf":2.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"78":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"i":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"1":{"6":{",":{"df":0,"docs":{},"u":{"1":{"6":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"[":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"131":{"tf":1.0}}},"5":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"66":{"tf":2.0},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":6,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":4.358898943540674},"76":{"tf":1.0},"77":{"tf":2.449489742783178},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"118":{"tf":1.0}}},":":{"9":{"6":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"121":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"148":{"tf":1.4142135623730951},"44":{"tf":1.0},"67":{"tf":1.0}}}}},"b":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"113":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"f":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"106":{"tf":1.0},"71":{"tf":1.0}}}}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"102":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"65":{"tf":1.0}}}}},"r":{"df":4,"docs":{"132":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"131":{"tf":1.0},"14":{"tf":1.4142135623730951},"3":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}}},"t":{"df":6,"docs":{"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"56":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":9,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"96":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":7,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"145":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"101":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"168":{"tf":1.4142135623730951},"38":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":25,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.7320508075688772},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.7320508075688772},"146":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"18":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"=":{"5":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"9":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"105":{"tf":1.0},"110":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"106":{"tf":2.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.7320508075688772},"123":{"tf":1.0},"148":{"tf":1.0},"53":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"100":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"129":{"tf":1.0},"17":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"102":{"tf":2.0},"111":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":2.449489742783178},"155":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"45":{"tf":2.0},"48":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}}},"df":112,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"11":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.0},"12":{"tf":1.0},"123":{"tf":2.23606797749979},"124":{"tf":2.6457513110645907},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":2.449489742783178},"136":{"tf":2.0},"137":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":1.0},"166":{"tf":2.8284271247461903},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772},"173":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.7320508075688772},"59":{"tf":3.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":2.6457513110645907},"65":{"tf":4.69041575982343},"66":{"tf":4.242640687119285},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":3.1622776601683795},"71":{"tf":2.6457513110645907},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":3.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":2.6457513110645907},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.8284271247461903},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"155":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"/":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"118":{"tf":1.0},"32":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"20":{"tf":1.0}}},"2":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":3,"docs":{"56":{"tf":2.23606797749979},"66":{"tf":1.0},"71":{"tf":1.0}}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"df":2,"docs":{"17":{"tf":1.0},"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"7":{"df":1,"docs":{"48":{"tf":1.0}}},"df":8,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":32,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":2.6457513110645907},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"153":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"74":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":1.7320508075688772},"78":{"tf":5.5677643628300215},"79":{"tf":4.69041575982343},"80":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"107":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"37":{"tf":1.0},"38":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"137":{"tf":1.0}}}}},"c":{"c":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":5,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"56":{"tf":1.0}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":15,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":10,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"105":{"tf":1.0},"17":{"tf":3.0},"19":{"tf":1.0},"20":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.449489742783178},"60":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"i":{"a":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"51":{"tf":1.0},"95":{"tf":1.0}}},"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"140":{"tf":1.0},"65":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"168":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"85":{"tf":1.0}},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":2.449489742783178}}}},"df":1,"docs":{"73":{"tf":1.4142135623730951}},"s":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"r":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"1":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"s":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"7":{"_":{"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"a":{"d":{"d":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"1":{"6":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.7320508075688772},"110":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"14":{"tf":1.0},"168":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":2.449489742783178},"89":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"y":{"df":16,"docs":{"106":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"159":{"tf":1.0},"28":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"df":6,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":42,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":2.449489742783178},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":2,"docs":{"51":{"tf":1.0},"65":{"tf":1.0}}},"v":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.0}}},"i":{"df":1,"docs":{"146":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":14,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"56":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":5,"docs":{"102":{"tf":1.0},"12":{"tf":1.0},"155":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}},"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"104":{"tf":1.0},"135":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":16,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"47":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"90":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":16,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":2.6457513110645907},"105":{"tf":1.0},"111":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":2.0},"123":{"tf":2.23606797749979},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"131":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":16,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"102":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":33,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":2.23606797749979},"149":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"165":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"60":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}},"s":{":":{"1":{"0":{":":{"5":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"0":{"tf":1.0},"149":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":3.605551275463989},"71":{"tf":3.1622776601683795},"93":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"153":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"105":{"tf":1.0},"162":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}}}}}},"x":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":4,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":22,"docs":{"103":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.0},"137":{"tf":3.1622776601683795},"138":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"140":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":3.1622776601683795},"64":{"tf":1.0},"65":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"95":{"tf":1.0}},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":4,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":1,"docs":{"133":{"tf":1.0}},"z":{"df":1,"docs":{"131":{"tf":1.0}}}}},"y":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":13,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":2.0},"136":{"tf":1.4142135623730951},"137":{"tf":3.1622776601683795},"138":{"tf":2.0},"140":{"tf":2.23606797749979},"141":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"140":{"tf":1.0}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":29,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":2.0},"155":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.23606797749979},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":2,"docs":{"143":{"tf":1.0},"67":{"tf":1.0}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"101":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}}}},"z":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":7,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"140":{"tf":2.449489742783178},"141":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"85":{"tf":1.0}}}},"1":{"_":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"69":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"1":{"5":{"5":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"1":{"df":3,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0}}},"2":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":3.1622776601683795}}},"1":{".":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"3":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":3,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{"5":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}},"s":{":":{"4":{"7":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"7":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"142":{"tf":1.0}}},"6":{".":{"1":{"3":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}},"s":{":":{"4":{"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"3":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"44":{"tf":1.0}}},"5":{"df":1,"docs":{"44":{"tf":1.0}}},":":{"0":{"0":{"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":3.0}}},"1":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}},"4":{"0":{"3":{":":{"6":{"0":{"0":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{":":{"3":{"7":{"4":{"b":{"df":2,"docs":{"33":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"168":{"tf":1.0},"18":{"tf":1.0}}},"5":{"df":3,"docs":{"118":{"tf":1.0},"14":{"tf":1.0},"67":{"tf":1.0}}},"6":{"df":2,"docs":{"14":{"tf":1.0},"70":{"tf":1.0}}},"7":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"0":{"0":{"0":{"1":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"f":{"6":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"3":{"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"168":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"_":{"1":{"1":{"0":{"0":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"1":{"0":{"0":{"0":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"{":{":":{"0":{"8":{"b":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":2.0},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":3.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":2,"docs":{"62":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"4":{"8":{"3":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"1":{"9":{"4":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"f":{"0":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"4":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.0}}},"8":{"df":1,"docs":{"65":{"tf":1.0}}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"1":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"3":{"0":{"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"a":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"c":{"df":2,"docs":{"66":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"0":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"75":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"a":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"c":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"c":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"5":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"c":{"4":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"7":{"4":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"6":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"8":{"0":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"0":{"0":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"9":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"b":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"0":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"df":3,"docs":{"69":{"tf":4.898979485566356},"78":{"tf":1.0},"79":{"tf":3.3166247903554}}},"1":{"0":{"0":{"3":{"6":{"4":{"2":{"2":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"74":{"tf":1.0}}},"9":{"4":{"df":6,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"76":{"tf":1.4142135623730951}},"f":{"4":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"3":{"a":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"65":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"0":{"0":{"0":{"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"f":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"3":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"65":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":2.0},"78":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"7":{"4":{"b":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"4":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"8":{"0":{"0":{"1":{"0":{"0":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"1":{"8":{"df":3,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"0":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"77":{"tf":1.0}}},"8":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"5":{"0":{"0":{"0":{"4":{"0":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"2":{"5":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"c":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"1":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":9,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"4":{"df":8,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"63":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"f":{"0":{"df":3,"docs":{"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"a":{"df":1,"docs":{"63":{"tf":1.0}}},"d":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"6":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"7":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"8":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"4":{"a":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"c":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"8":{"1":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"2":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"1":{"0":{"6":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"a":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"5":{"a":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"6":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"2":{"7":{"a":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"9":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"a":{"8":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"5":{"c":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"c":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{"6":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"4":{"8":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"4":{"2":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":2.23606797749979},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"1":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"b":{"5":{"0":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"a":{"a":{"a":{"a":{"a":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"{":{":":{"0":{"2":{"df":0,"docs":{},"x":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"4":{"df":0,"docs":{},"x":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{",":{"5":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"3":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"1":{"2":{"5":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"7":{"1":{"8":{"7":{"5":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{".":{"2":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{".":{"0":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}},"6":{"4":{"4":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"124":{"tf":1.0},"138":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772}},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"1":{"3":{"2":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"6":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"8":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"df":15,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"77":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"2":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":2.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"7":{"9":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{",":{"2":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":5,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":2.23606797749979},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":9,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":1.4142135623730951}}},"2":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"2":{"7":{"6":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"3":{"4":{"df":2,"docs":{"111":{"tf":1.0},"115":{"tf":1.0}}},"df":2,"docs":{"171":{"tf":2.0},"172":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":10,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"78":{"tf":1.0}},"g":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"3":{"4":{"2":{"1":{"7":{"7":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"6":{"0":{".":{"6":{"7":{"5":{"3":{"1":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},":":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"75":{"tf":1.0}}},"4":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"6":{"3":{"3":{"9":{"2":{"0":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"0":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"66":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"6":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"80":{"tf":1.0}}},"7":{"3":{"3":{"6":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":3.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":3.4641016151377544},"76":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"7":{".":{"9":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.0}}},"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"64":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}},"8":{".":{"0":{"4":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"135":{"tf":1.0}}},"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"7":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"9":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":6,"docs":{"66":{"tf":2.449489742783178},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0}}},"9":{"1":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"132":{"tf":1.0}}},"5":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"132":{"tf":1.0}}},"df":5,"docs":{"107":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":44,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":4.58257569495584},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":3.0},"72":{"tf":2.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":4.47213595499958},"76":{"tf":1.7320508075688772},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"6":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":5,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"66":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},".":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"7":{"df":1,"docs":{"17":{"tf":1.0}}},"8":{"8":{"8":{"1":{"8":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"1":{"5":{"6":{"0":{"8":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"168":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"/":{"0":{"9":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"78":{"tf":1.0}}},"8":{"2":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"0":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{":":{"0":{"5":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"128":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"1":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"138":{"tf":2.23606797749979}}},"df":5,"docs":{"44":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"2":{".":{"4":{".":{"9":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"4":{"1":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"165":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"86":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"77":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"4":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"3":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"4":{"8":{"4":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}},"5":{"0":{"df":2,"docs":{"131":{"tf":1.0},"137":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"148":{"tf":1.0}},"k":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"9":{"df":1,"docs":{"44":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"93":{"tf":1.0}}},"8":{".":{"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{".":{"8":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"6":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"66":{"tf":2.449489742783178}}},"9":{"0":{"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.3166247903554},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"f":{"3":{"8":{"df":0,"docs":{},"f":{"6":{"b":{".":{".":{"9":{"5":{"8":{"6":{"0":{"a":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"8":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"9":{"0":{"0":{"df":1,"docs":{"105":{"tf":2.0}}},"6":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"2":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"v":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"4":{"9":{"9":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"0":{":":{"1":{"0":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"8":{"8":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"1":{"6":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}},"2":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"40":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":2.23606797749979}}},"3":{"3":{"3":{"df":7,"docs":{"166":{"tf":1.4142135623730951},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.0}}},"df":0,"docs":{}},"7":{"7":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"4":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"0":{"df":1,"docs":{"135":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"4":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"2":{".":{"3":{"7":{"5":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":14,"docs":{"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"138":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"73":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}}},"4":{"0":{"0":{"0":{"df":1,"docs":{"64":{"tf":1.7320508075688772}}},"df":1,"docs":{"124":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"9":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"106":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":5,"docs":{"106":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951}}},"4":{"4":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}},"5":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"56":{"tf":1.0}}},"6":{"6":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}},"7":{"1":{"2":{"3":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"132":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"9":{"7":{"df":1,"docs":{"62":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}},"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":16,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"173":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.7320508075688772},"71":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"5":{".":{"1":{".":{"1":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":0,"docs":{},"k":{"b":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"66":{"tf":3.3166247903554}}},"8":{"6":{"1":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"66":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.0}}},"1":{"df":1,"docs":{"74":{"tf":1.0}}},"2":{"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"3":{"6":{"8":{"7":{"0":{"9":{"1":{"2":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.0}}},"5":{"5":{"df":1,"docs":{"76":{"tf":1.0}}},"6":{"df":1,"docs":{"76":{"tf":1.0}}},"7":{"df":1,"docs":{"76":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"9":{"df":1,"docs":{"76":{"tf":1.0}}},"df":1,"docs":{"138":{"tf":1.0}}},"6":{"0":{"df":4,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"76":{"tf":1.0}}},"2":{"df":1,"docs":{"76":{"tf":1.0}}},"3":{"df":1,"docs":{"76":{"tf":1.0}}},"4":{"df":2,"docs":{"69":{"tf":1.0},"76":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"7":{"0":{"df":3,"docs":{"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"6":{"0":{"0":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"71":{"tf":1.0}}},"8":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":9,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"173":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"84":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":1,"docs":{"173":{"tf":1.0}}},"v":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}},"6":{".":{"4":{"df":2,"docs":{"74":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":2.0}}},"1":{"2":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"9":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{":":{"8":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"5":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"6":{"6":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"8":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"1":{"7":{":":{"2":{"9":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":7,"docs":{"131":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"7":{".":{"1":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"3":{"df":1,"docs":{"138":{"tf":1.0}}},"4":{"9":{"7":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"9":{"7":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":2.0},"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"67":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"8":{".":{"1":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"8":{"df":1,"docs":{"85":{"tf":1.0}}},"a":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"9":{"0":{"df":1,"docs":{"85":{"tf":1.0}}},"4":{"df":1,"docs":{"85":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"8":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"f":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}}},"2":{"0":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"1":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"2":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"3":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"4":{"df":1,"docs":{"75":{"tf":1.0}}},"6":{"df":1,"docs":{"75":{"tf":1.0}}},"8":{"df":1,"docs":{"75":{"tf":1.0}}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"4":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"6":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"5":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"c":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"6":{"2":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"4":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"8":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}}},"7":{"0":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"64":{"tf":1.4142135623730951}}},"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"1":{"8":{"3":{"2":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.0}}},"6":{"8":{"df":1,"docs":{"129":{"tf":1.0}}},"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"7":{"2":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":20,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"136":{"tf":2.8284271247461903},"65":{"tf":2.23606797749979},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"9":{",":{"6":{"0":{"0":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"4":{".":{"1":{"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"132":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"5":{"0":{"df":5,"docs":{"48":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"64":{"tf":2.449489742783178},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"0":{"0":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"107":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":13,"docs":{"113":{"tf":1.4142135623730951},"131":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.7320508075688772}}},"_":{"_":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"107":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"142":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":10,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":3.7416573867739413}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"5":{"1":{"df":0,"docs":{},"e":{"7":{"c":{"3":{"d":{"a":{"a":{"d":{"2":{"a":{"df":0,"docs":{},"f":{"2":{"5":{"1":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"f":{"2":{"b":{"c":{"7":{"9":{"9":{"0":{"b":{"1":{"3":{"7":{"3":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"6":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"1":{"8":{"c":{"0":{"6":{"0":{"0":{"1":{"4":{"a":{"5":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"9":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"0":{"2":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":1,"docs":{"56":{"tf":1.0}},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"76":{"tf":1.0}}}},"v":{"df":15,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"56":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"159":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"139":{"tf":1.7320508075688772},"140":{"tf":3.7416573867739413},"141":{"tf":2.449489742783178},"142":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":2.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"148":{"tf":1.4142135623730951},"166":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"145":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"l":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"92":{"tf":1.0}}},"t":{"df":1,"docs":{"51":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"146":{"tf":1.0},"77":{"tf":1.7320508075688772}}}},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"116":{"tf":1.0},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.23606797749979},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.7320508075688772},"48":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.0}}},"d":{"df":11,"docs":{"143":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"37":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":4.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"17":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":29,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":2.449489742783178},"130":{"tf":2.449489742783178},"131":{"tf":3.0},"165":{"tf":1.0},"166":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.7320508075688772},"175":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"75":{"tf":1.7320508075688772},"76":{"tf":3.4641016151377544},"77":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907}}}}}}},"df":3,"docs":{"143":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"65":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"l":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"104":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"119":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":2.0},"164":{"tf":2.0},"168":{"tf":1.0},"176":{"tf":1.0},"35":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"90":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}}}},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}},"k":{"a":{"df":3,"docs":{"14":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"118":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}},"g":{"df":4,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":22,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.7320508075688772},"18":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"45":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"135":{"tf":1.0},"144":{"tf":1.0},"149":{"tf":1.0},"77":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":12,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":2.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"135":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"150":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.4142135623730951},"172":{"tf":1.0},"65":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"106":{"tf":1.7320508075688772},"119":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"90":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"b":{"1":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"86":{"tf":2.6457513110645907},"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":2,"docs":{"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":2.449489742783178}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"141":{"tf":2.0},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"103":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"12":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"155":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"55":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"138":{"tf":1.0},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"28":{"tf":1.0}}}}},"x":{"df":1,"docs":{"118":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"84":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"15":{"tf":1.0},"56":{"tf":1.7320508075688772},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":2,"docs":{"65":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":5,"docs":{"106":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"m":{"'":{"df":2,"docs":{"28":{"tf":1.0},"52":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":24,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"37":{"tf":2.23606797749979},"41":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.6457513110645907},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"56":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"86":{"tf":1.4142135623730951},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}},"m":{"df":3,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"65":{"tf":2.6457513110645907},"66":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"116":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"132":{"tf":1.0},"44":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"153":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"148":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"t":{"+":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"1":{"1":{"5":{"2":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"121":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"135":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"169":{"tf":1.0},"51":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"3":{"7":{"4":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"4":{"0":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"8":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"1":{"1":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}},"4":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}}}},"{":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"66":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"6":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"0":{"df":1,"docs":{"77":{"tf":1.0}}},"1":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"72":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}},"8":{":":{":":{"b":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"159":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"105":{"tf":1.0},"157":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"159":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"140":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"x":{"df":3,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0}},"i":{"df":7,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"b":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":4.58257569495584},"75":{"tf":1.0},"76":{"tf":1.0}}}},"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"r":{"c":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"102":{"tf":1.7320508075688772},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"148":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"158":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"143":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":11,"docs":{"0":{"tf":1.0},"113":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0},"59":{"tf":1.0},"74":{"tf":2.0},"78":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}},"u":{"d":{"df":8,"docs":{"105":{"tf":1.0},"118":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"df":9,"docs":{"14":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"170":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"85":{"tf":1.0},"88":{"tf":1.0}}}}},"df":7,"docs":{"118":{"tf":1.0},"145":{"tf":1.7320508075688772},"158":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.0},"129":{"tf":1.0},"141":{"tf":1.0},"170":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"80":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"172":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0}},"n":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"52":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"df":18,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"18":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"131":{"tf":1.0},"14":{"tf":1.0},"65":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"69":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"151":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.7320508075688772}}}}},"d":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"166":{"tf":1.7320508075688772}}},"df":6,"docs":{"28":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"20":{"tf":2.0}}}}}}},"t":{"df":27,"docs":{"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":2.449489742783178},"78":{"tf":2.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.8284271247461903},"94":{"tf":2.0},"96":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"129":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":4.358898943540674},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":11,"docs":{"111":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":12,"docs":{"113":{"tf":2.0},"166":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"78":{"tf":2.6457513110645907},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}},"g":{"df":1,"docs":{"159":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":2.0},"123":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"115":{"tf":1.0}}}}},"df":19,"docs":{"111":{"tf":3.3166247903554},"112":{"tf":1.7320508075688772},"113":{"tf":2.8284271247461903},"114":{"tf":1.0},"115":{"tf":2.0},"116":{"tf":1.7320508075688772},"117":{"tf":2.0},"118":{"tf":2.8284271247461903},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.23606797749979},"124":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"17":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772}}}}}}},"z":{"df":5,"docs":{"113":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":35,"docs":{"10":{"tf":1.0},"101":{"tf":2.23606797749979},"102":{"tf":1.4142135623730951},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":2.449489742783178},"139":{"tf":1.0},"14":{"tf":3.3166247903554},"140":{"tf":2.6457513110645907},"141":{"tf":1.7320508075688772},"157":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":14,"docs":{"0":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":2.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"3":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"124":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":4,"docs":{"105":{"tf":1.0},"123":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}},"r":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"tf":2.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":9,"docs":{"110":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":3.1622776601683795},"65":{"tf":2.23606797749979},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"171":{"tf":3.605551275463989},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":3.4641016151377544},"66":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":2.23606797749979},"71":{"tf":3.7416573867739413},"75":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":2.0},"129":{"tf":2.23606797749979},"130":{"tf":2.23606797749979},"131":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"1":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"74":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":4,"docs":{"74":{"tf":2.449489742783178},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951}}}},"s":{"df":1,"docs":{"69":{"tf":2.0}}}},"t":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}},"u":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"124":{"tf":2.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"110":{"tf":2.0},"131":{"tf":2.449489742783178},"148":{"tf":1.0}}}}}},"g":{"df":3,"docs":{"159":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"1":{"tf":1.0},"104":{"tf":1.0},"139":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":3.0},"63":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"139":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"118":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"155":{"tf":1.0}}},"i":{"df":3,"docs":{"107":{"tf":1.0},"52":{"tf":1.0},"88":{"tf":2.23606797749979}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"118":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"14":{"tf":1.0}}}},"x":{"df":1,"docs":{"76":{"tf":1.0}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":18,"docs":{"103":{"tf":2.23606797749979},"105":{"tf":3.0},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":3.0},"148":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"56":{"tf":2.23606797749979},"65":{"tf":1.0},"69":{"tf":1.0},"90":{"tf":1.0}},"s":{"/":{"df":1,"docs":{"105":{"tf":1.0}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}},":":{"1":{"0":{"7":{"2":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"6":{"8":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},":":{"\\":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"\\":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.4142135623730951}},"s":{"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":1,"docs":{"47":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"38":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"\\":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"102":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"14":{"tf":2.23606797749979},"164":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"138":{"tf":2.6457513110645907}}}},"df":0,"docs":{}},"l":{"df":15,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"106":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"168":{"tf":2.23606797749979},"55":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"147":{"tf":2.23606797749979},"159":{"tf":1.0},"60":{"tf":1.0}}}},"c":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"133":{"tf":1.0},"67":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"129":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"55":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"102":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":3.4641016151377544},"67":{"tf":2.0}}}}}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"62":{"tf":1.0},"66":{"tf":3.1622776601683795},"71":{"tf":3.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":23,"docs":{"12":{"tf":1.0},"159":{"tf":1.0},"167":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":3.3166247903554},"55":{"tf":2.0},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":4,"docs":{"63":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"103":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"60":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"20":{"tf":1.4142135623730951},"28":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"df":16,"docs":{"12":{"tf":2.0},"13":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":1.0},"71":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"!":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}},"h":{"3":{"4":{"0":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"141":{"tf":1.7320508075688772},"67":{"tf":2.449489742783178},"68":{"tf":1.0},"84":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"45":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"80":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":2,"docs":{"103":{"tf":1.0},"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"k":{"df":20,"docs":{"113":{"tf":1.0},"119":{"tf":1.4142135623730951},"140":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.0},"18":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"115":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":5,"docs":{"38":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.6457513110645907},"59":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"138":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"3":{"tf":1.0},"51":{"tf":1.0}}}},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"171":{"tf":1.7320508075688772},"65":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"124":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"158":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"85":{"tf":1.7320508075688772},"86":{"tf":2.6457513110645907},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"h":{"7":{"1":{"1":{"c":{"df":0,"docs":{},"e":{"9":{"b":{"d":{"6":{"8":{"a":{"6":{"3":{"2":{"8":{"df":0,"docs":{},"f":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"165":{"tf":1.0},"48":{"tf":1.0}}}}}},"df":13,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"76":{"tf":1.0}},"r":{"df":2,"docs":{"105":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"78":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":33,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"m":{"3":{"df":1,"docs":{"96":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"96":{"tf":2.8284271247461903}},"e":{"df":6,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":37,"docs":{"104":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":5.385164807134504},"66":{"tf":3.4641016151377544},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.449489742783178},"96":{"tf":1.4142135623730951}},"s":{":":{"3":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"r":{"c":{"df":1,"docs":{"14":{"tf":2.0}},"i":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"159":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"155":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.4641016151377544},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"132":{"tf":2.449489742783178},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"168":{"tf":2.0},"20":{"tf":1.0},"56":{"tf":7.54983443527075},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"105":{"tf":1.0},"14":{"tf":1.0},"148":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":29,"docs":{"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"135":{"tf":1.0},"17":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"8":{"tf":1.0},"90":{"tf":2.8284271247461903},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"113":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":1,"docs":{"67":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"118":{"tf":2.0},"128":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"55":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":3.0},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.23606797749979},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"118":{"tf":1.0},"166":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"111":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":3.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"129":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":2.23606797749979},"163":{"tf":1.7320508075688772},"164":{"tf":2.0},"166":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":2.0},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"153":{"tf":1.0}}}}},"df":12,"docs":{"129":{"tf":1.7320508075688772},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"85":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"m":{"df":1,"docs":{"10":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"34":{"tf":1.4142135623730951},"67":{"tf":1.0},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":3,"docs":{"131":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":16,"docs":{"104":{"tf":1.0},"107":{"tf":1.7320508075688772},"138":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":2.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"65":{"tf":2.8284271247461903},"66":{"tf":5.5677643628300215},"67":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":23,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":2.23606797749979},"158":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"35":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"1":{"tf":1.0},"137":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"12":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"145":{"tf":1.7320508075688772}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}},"y":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"<":{"(":{")":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{"+":{"1":{"4":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"66":{"tf":2.23606797749979},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":2.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"168":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"42":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"137":{"tf":1.0},"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"56":{"tf":3.605551275463989},"59":{"tf":1.0},"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"149":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"0":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"3":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"174":{"tf":1.4142135623730951}},"u":{"df":5,"docs":{"11":{"tf":1.0},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"1":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"14":{"tf":1.4142135623730951},"159":{"tf":1.0},"168":{"tf":2.23606797749979},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"166":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"56":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"44":{"tf":2.0},"93":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"138":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"95":{"tf":2.449489742783178}}},"c":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.0}}},"df":0,"docs":{}},"df":3,"docs":{"48":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"145":{"tf":1.4142135623730951},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"51":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"77":{"tf":1.7320508075688772}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"150":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"d":{"a":{"c":{"df":1,"docs":{"153":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"df":34,"docs":{"100":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"105":{"tf":2.23606797749979},"107":{"tf":2.6457513110645907},"124":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"77":{"tf":1.0},"90":{"tf":3.4641016151377544},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"154":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"1":{"7":{"df":0,"docs":{},"f":{".":{".":{"0":{"2":{"a":{"c":{"9":{"5":{"2":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"117":{"tf":1.0},"173":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"159":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":10,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"24":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}},"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":26,"docs":{"1":{"tf":1.0},"105":{"tf":2.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":3.4641016151377544},"66":{"tf":2.23606797749979},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}},"g":{"df":8,"docs":{"104":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}}}}}}},"df":1,"docs":{"90":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"166":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"86":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{"(":{"1":{"0":{"0":{"0":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":3,"docs":{"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"m":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"v":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":19,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":4.123105625617661},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":3.3166247903554},"85":{"tf":2.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":2.8284271247461903}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"=":{"'":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"65":{"tf":2.23606797749979},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":22,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"1":{"1":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":6,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"61":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.0}}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":2.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"128":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"124":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"51":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"3":{"/":{"0":{"0":{"4":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"116":{"tf":1.0},"117":{"tf":1.0}}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":2,"docs":{"116":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":11,"docs":{"116":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":42,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"147":{"tf":1.0},"15":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"c":{"df":34,"docs":{"11":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":2.449489742783178},"125":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"44":{"tf":2.449489742783178},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"90":{"tf":1.7320508075688772},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"96":{"tf":2.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"166":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"151":{"tf":2.23606797749979},"152":{"tf":2.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"73":{"tf":2.23606797749979},"79":{"tf":1.0},"81":{"tf":2.23606797749979}}}}},"m":{"df":1,"docs":{"150":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.0},"148":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"136":{"tf":1.0}}}}}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"139":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"171":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"173":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"128":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"93":{"tf":1.4142135623730951},"96":{"tf":2.449489742783178}}},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"0":{"5":{"df":5,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":2.449489742783178}}},"6":{"df":2,"docs":{"70":{"tf":2.23606797749979},"71":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"144":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"118":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"77":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.7320508075688772}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}},"m":{"a":{"df":2,"docs":{"148":{"tf":2.0},"56":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"f":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}}},"o":{"c":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"166":{"tf":1.0},"67":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":2.0},"52":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}}}},"df":8,"docs":{"149":{"tf":1.0},"2":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{".":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":24,"docs":{"101":{"tf":1.0},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":9,"docs":{"124":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"n":{"df":1,"docs":{"86":{"tf":1.0}}},"r":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"162":{"tf":1.0},"40":{"tf":2.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"14":{"tf":1.0},"168":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":4,"docs":{"65":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"141":{"tf":1.0},"70":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"163":{"tf":1.0},"28":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":16,"docs":{"165":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":2.0},"41":{"tf":1.0},"56":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":2.0}}}}}}},"l":{"df":9,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"69":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":24,"docs":{"105":{"tf":1.0},"109":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"133":{"tf":1.0},"166":{"tf":1.4142135623730951},"173":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"80":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":5,"docs":{"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"159":{"tf":1.0}}},"df":1,"docs":{"140":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"df":7,"docs":{"133":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":7,"docs":{"108":{"tf":2.23606797749979},"117":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":5,"docs":{"106":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"f":{".":{"df":0,"docs":{},"p":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"b":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":2.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"147":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"132":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"150":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.7320508075688772},"73":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"9":{"tf":1.0}}}}}}},"f":{"3":{"2":{"df":2,"docs":{"56":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":22,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.7320508075688772},"147":{"tf":1.0},"156":{"tf":1.7320508075688772},"159":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":2.23606797749979},"56":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903},"68":{"tf":1.0},"70":{"tf":2.8284271247461903},"71":{"tf":2.6457513110645907},"9":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":1,"docs":{"133":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.4142135623730951},"171":{"tf":2.0},"51":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"71":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":12,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"109":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"162":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"66":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"65":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"88":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"171":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.3166247903554},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"133":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":35,"docs":{"128":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"135":{"tf":1.0},"140":{"tf":1.0}}},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"56":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"r":{"(":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":13,"docs":{"109":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"159":{"tf":1.0},"162":{"tf":2.0},"163":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"166":{"tf":2.0},"168":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"s":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"118":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"c":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"d":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"34":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":11,"docs":{"1":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"133":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"s":{":":{"3":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"6":{"7":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":1,"docs":{"1":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"171":{"tf":1.4142135623730951},"54":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"153":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"118":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"173":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.7320508075688772},"76":{"tf":4.0},"78":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"100":{"tf":1.0},"124":{"tf":1.7320508075688772},"53":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":5,"docs":{"37":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907}},"e":{"c":{"df":1,"docs":{"56":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":24,"docs":{"10":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"145":{"tf":2.8284271247461903},"146":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.8284271247461903},"176":{"tf":1.4142135623730951},"33":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":3.7416573867739413},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"106":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"152":{"tf":1.0},"3":{"tf":1.0},"76":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":5,"docs":{"107":{"tf":1.0},"138":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"153":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"170":{"tf":1.0},"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":18,"docs":{"143":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":8,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"102":{"tf":2.0},"132":{"tf":1.0},"14":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":6,"docs":{"129":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"69":{"tf":1.0}}}},"f":{"/":{"df":0,"docs":{},"f":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":2.0}}},"m":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951}}}},"3":{"'":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"2":{")":{".":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{")":{".":{"a":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}},"z":{"df":2,"docs":{"137":{"tf":1.0},"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":2.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772}}},"df":18,"docs":{"102":{"tf":2.23606797749979},"111":{"tf":2.0},"118":{"tf":2.0},"123":{"tf":2.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"159":{"tf":1.0},"33":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"155":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"101":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":2.449489742783178},"164":{"tf":2.449489742783178},"168":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"94":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.7320508075688772}}},"s":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":4,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"74":{"tf":1.0}}}}}},"n":{"df":1,"docs":{"9":{"tf":1.0}}},"q":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"148":{"tf":1.0},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"153":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"105":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"65":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":14,"docs":{"138":{"tf":1.7320508075688772},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.7320508075688772},"173":{"tf":2.0},"45":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":2.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"63":{"tf":2.0},"70":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"157":{"tf":1.0},"166":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"b":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}},"w":{"df":9,"docs":{"105":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":11,"docs":{"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.23606797749979},"138":{"tf":1.7320508075688772},"159":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"44":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"87":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":24,"docs":{"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"16":{"tf":1.0},"165":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"70":{"tf":2.8284271247461903},"71":{"tf":2.23606797749979},"78":{"tf":2.0},"85":{"tf":1.0},"93":{"tf":1.7320508075688772},"94":{"tf":2.0}}},"l":{"df":2,"docs":{"107":{"tf":1.0},"131":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"102":{"tf":1.0},"104":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"d":{"df":15,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":2.23606797749979},"44":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":13,"docs":{"107":{"tf":1.0},"149":{"tf":1.0},"168":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"37":{"tf":1.0},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":24,"docs":{"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.7320508075688772},"175":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}}}},"x":{"df":8,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"m":{"df":1,"docs":{"135":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":16,"docs":{"1":{"tf":1.0},"165":{"tf":1.7320508075688772},"169":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":2.6457513110645907},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":2.6457513110645907},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":5,"docs":{"51":{"tf":1.4142135623730951},"65":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"t":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"n":{"df":37,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":29,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}}},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"k":{"df":1,"docs":{"68":{"tf":2.23606797749979}}},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"138":{"tf":1.0},"14":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}},"df":5,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"170":{"tf":1.0},"52":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"158":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"1":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}},"x":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"175":{"tf":4.0},"55":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":2.0},"90":{"tf":2.0},"94":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"107":{"tf":1.0},"140":{"tf":1.7320508075688772},"159":{"tf":1.0},"166":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"154":{"tf":1.0},"2":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"t":{"2":{"3":{"2":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"93":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"110":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":2,"docs":{"14":{"tf":1.0},"150":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":27,"docs":{"1":{"tf":1.0},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"14":{"tf":1.0},"159":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.605551275463989},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"81":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"77":{"tf":1.0},"79":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"159":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"157":{"tf":1.0},"159":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"142":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":2.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"137":{"tf":2.6457513110645907}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"79":{"tf":1.0}}}}},"c":{"c":{"df":2,"docs":{"37":{"tf":2.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":40,"docs":{"107":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"166":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"41":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":2.6457513110645907},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.605551275463989},"64":{"tf":2.0},"65":{"tf":7.745966692414834},"66":{"tf":8.366600265340756},"67":{"tf":4.123105625617661},"69":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":3.4641016151377544},"74":{"tf":2.23606797749979},"75":{"tf":3.4641016151377544},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"137":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":27,"docs":{"10":{"tf":1.7320508075688772},"125":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"48":{"tf":1.0},"56":{"tf":2.0},"65":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":1.0}}},"t":{"df":2,"docs":{"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"128":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"129":{"tf":1.0},"141":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0}},"n":{"df":3,"docs":{"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"d":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":1,"docs":{"137":{"tf":1.4142135623730951}},"u":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"7":{"1":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"0":{"4":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"3":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{"4":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"20":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"106":{"tf":1.0},"3":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":25,"docs":{"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":6,"docs":{"141":{"tf":1.0},"142":{"tf":1.0},"51":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}},"o":{"d":{"df":8,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":4,"docs":{"72":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"81":{"tf":1.0}},"e":{".":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"78":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"80":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":3.3166247903554},"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":6,"docs":{"74":{"tf":2.0},"78":{"tf":3.3166247903554},"79":{"tf":2.449489742783178},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951}}},"x":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"a":{"b":{"df":4,"docs":{"13":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"78":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"112":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":2.8284271247461903}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"133":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":4,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"140":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"74":{"tf":1.0}}}}},"i":{"df":1,"docs":{"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":5,"docs":{"124":{"tf":1.0},"157":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178}},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":5.291502622129181}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"66":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"64":{"tf":1.0},"76":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":2.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"118":{"tf":1.0},"140":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"d":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"67":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"df":24,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"145":{"tf":1.0},"156":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"86":{"tf":1.7320508075688772},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"67":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"c":{"df":2,"docs":{"118":{"tf":1.0},"14":{"tf":1.4142135623730951}},"i":{"0":{"df":1,"docs":{"113":{"tf":2.23606797749979}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"113":{"tf":2.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"16":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"56":{"tf":3.3166247903554},"70":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"z":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"20":{"tf":1.0},"70":{"tf":4.0},"71":{"tf":3.4641016151377544},"93":{"tf":1.0}}}},"p":{"df":10,"docs":{"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.7320508075688772},"159":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":11,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0}}},"df":18,"docs":{"12":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"51":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}}},"t":{"df":7,"docs":{"10":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}},"l":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"118":{"tf":1.0},"133":{"tf":1.0},"163":{"tf":1.0},"52":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"a":{"d":{"a":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"v":{"c":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"df":4,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"71":{"tf":1.0},"94":{"tf":1.0}}}},"o":{"d":{"df":2,"docs":{"132":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"52":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"154":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"a":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"m":{"df":5,"docs":{"103":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}}},"v":{"df":4,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}}},".":{"df":3,"docs":{"141":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"1":{"6":{"df":1,"docs":{"131":{"tf":1.7320508075688772}},"x":{"3":{"df":9,"docs":{"132":{"tf":2.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"2":{"c":{"1":{".":{"c":{"df":0,"docs":{},"r":{"2":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":14,"docs":{"1":{"tf":1.0},"124":{"tf":2.23606797749979},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.23606797749979},"129":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0}}},"df":1,"docs":{"155":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"65":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"44":{"tf":1.0}}},"d":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"a":{"df":4,"docs":{"146":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":2.0}}}}}},"i":{"df":1,"docs":{"134":{"tf":1.0}},"i":{"df":1,"docs":{"134":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"71":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":1.0}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":2.6457513110645907},"108":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"159":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"138":{"tf":2.6457513110645907},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"135":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"133":{"tf":1.4142135623730951},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":11,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"163":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"o":{"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":2.0},"48":{"tf":3.0},"59":{"tf":3.0},"62":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":2.8284271247461903},"66":{"tf":1.4142135623730951},"71":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":18,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"176":{"tf":1.0},"28":{"tf":1.0},"66":{"tf":1.0}},"i":{"df":14,"docs":{"103":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":2.449489742783178},"83":{"tf":1.0},"87":{"tf":2.23606797749979},"88":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":4,"docs":{"1":{"tf":1.0},"151":{"tf":2.0},"81":{"tf":1.0},"84":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":14,"docs":{"104":{"tf":1.0},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"155":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":26,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"42":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"n":{"c":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"105":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"67":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":22,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.7320508075688772},"149":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"78":{"tf":1.7320508075688772},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":23,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"14":{"tf":1.0},"146":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"56":{"tf":1.0},"6":{"tf":1.0}},"r":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0}}}},"l":{"df":1,"docs":{"52":{"tf":1.0}}},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"149":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"124":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"162":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"65":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":7,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"44":{"tf":1.0},"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"1":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":2.449489742783178},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"10":{"tf":1.0},"141":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"2":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"t":{"df":7,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"76":{"tf":2.449489742783178},"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":9,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"15":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":21,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":25,"docs":{"103":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"72":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}}}}}},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":2.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"a":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"129":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"165":{"tf":1.0},"4":{"tf":1.0},"65":{"tf":2.0},"70":{"tf":1.4142135623730951}}}}},"t":{"'":{"df":29,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":1.4142135623730951},"146":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"143":{"tf":1.0},"156":{"tf":1.0}}}},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"[":{"0":{"df":11,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"138":{"tf":1.0},"165":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"131":{"tf":1.0},"77":{"tf":1.4142135623730951}}},"df":13,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"138":{"tf":1.7320508075688772},"140":{"tf":1.0},"165":{"tf":2.449489742783178},"17":{"tf":1.0},"19":{"tf":2.0},"70":{"tf":3.0},"71":{"tf":1.7320508075688772}}}}}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.449489742783178},"77":{"tf":3.0},"78":{"tf":1.0},"90":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"134":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"172":{"tf":1.7320508075688772},"55":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"k":{"b":{"/":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":7,"docs":{"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"85":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.4142135623730951},"150":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":2.0},"76":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"78":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"94":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"71":{"tf":1.0},"94":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":9,"docs":{"124":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"59":{"tf":2.449489742783178},"64":{"tf":3.872983346207417},"65":{"tf":2.23606797749979},"71":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}},"n":{"d":{"a":{"df":1,"docs":{"118":{"tf":1.0}}},"df":5,"docs":{"148":{"tf":1.0},"149":{"tf":1.0},"76":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"146":{"tf":1.0},"166":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":9,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"145":{"tf":1.0},"159":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"3":{"df":0,"docs":{},"g":{"d":{"2":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.0},"67":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"#":{"2":{"8":{"7":{"2":{"8":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":4,"docs":{"105":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"132":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"94":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"129":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"57":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"55":{"tf":1.0},"65":{"tf":3.0},"78":{"tf":1.4142135623730951}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"d":{"3":{"df":2,"docs":{"132":{"tf":1.0},"74":{"tf":1.0}}},"7":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":3,"docs":{"66":{"tf":2.449489742783178},"75":{"tf":2.0},"76":{"tf":2.0}}}},"df":2,"docs":{"44":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"154":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"131":{"tf":1.0},"168":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}},"v":{"df":7,"docs":{"148":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}},"d":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"1":{"0":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"2":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"7":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"8":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":3.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":50,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":2.8284271247461903},"133":{"tf":3.4641016151377544},"134":{"tf":1.7320508075688772},"135":{"tf":2.6457513110645907},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"138":{"tf":1.0},"150":{"tf":2.0},"151":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":2.8284271247461903},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178},"64":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":6.082762530298219},"67":{"tf":3.605551275463989},"68":{"tf":1.0},"69":{"tf":2.6457513110645907},"70":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":2.8284271247461903},"74":{"tf":3.1622776601683795},"75":{"tf":3.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":2.8284271247461903},"80":{"tf":1.4142135623730951},"81":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":2.23606797749979},"84":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"[":{"0":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"66":{"tf":1.0}}}},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"66":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":21,"docs":{"106":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"105":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"137":{"tf":1.0},"159":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"'":{"df":38,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"77":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"38":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"132":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":2.23606797749979}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"5":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"73":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":21,"docs":{"100":{"tf":2.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"124":{"tf":2.23606797749979},"171":{"tf":1.7320508075688772},"172":{"tf":2.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":3.1622776601683795},"66":{"tf":2.449489742783178},"67":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":2.449489742783178},"78":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"k":{"/":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"45":{"tf":1.0}}},"2":{".":{"1":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":12,"docs":{"16":{"tf":1.0},"162":{"tf":1.7320508075688772},"33":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"df":31,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":1.0},"113":{"tf":1.7320508075688772},"166":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"62":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":3,"docs":{"20":{"tf":2.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":6,"docs":{"63":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"66":{"tf":2.449489742783178},"67":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"a":{"d":{"df":10,"docs":{"150":{"tf":1.0},"165":{"tf":1.0},"44":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.6457513110645907},"65":{"tf":1.7320508075688772},"66":{"tf":3.4641016151377544},"67":{"tf":2.449489742783178},"70":{"tf":2.0},"71":{"tf":2.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":2.6457513110645907},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":8,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.7320508075688772},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"46":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"138":{"tf":1.0},"2":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"133":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":21,"docs":{"100":{"tf":1.0},"106":{"tf":2.23606797749979},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":2.0},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":39,"docs":{"1":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":3.1622776601683795},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":2.6457513110645907},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"s":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"105":{"tf":1.0},"164":{"tf":1.7320508075688772}}}},"t":{"df":5,"docs":{"143":{"tf":1.0},"152":{"tf":1.0},"6":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.0}}}},"w":{"df":10,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.4142135623730951},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"s":{"b":{"df":1,"docs":{"137":{"tf":2.449489742783178}}},"df":2,"docs":{"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":7,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"g":{"1":{"2":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"140":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":14,"docs":{"128":{"tf":2.8284271247461903},"129":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"166":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"b":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"t":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":2,"docs":{"69":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"106":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"51":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":3,"docs":{"51":{"tf":1.0},"52":{"tf":2.0},"56":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"166":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"166":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"o":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":7,"docs":{"106":{"tf":2.0},"138":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":2.0},"71":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"133":{"tf":1.0},"138":{"tf":1.0},"158":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"137":{"tf":1.4142135623730951}},"i":{"c":{"df":6,"docs":{"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":2.6457513110645907},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"159":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"124":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":2.23606797749979},"130":{"tf":2.0},"131":{"tf":2.6457513110645907},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.4142135623730951},"159":{"tf":1.0},"50":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"10":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":3.3166247903554},"138":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"171":{"tf":1.7320508075688772},"70":{"tf":1.0}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{"1":{"4":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":45,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"65":{"tf":3.872983346207417},"66":{"tf":3.0},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"e":{"df":35,"docs":{"10":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":2.0},"144":{"tf":1.4142135623730951},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"102":{"tf":1.0},"14":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"12":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"158":{"tf":1.0},"170":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"84":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"78":{"tf":2.23606797749979}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.449489742783178},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"128":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"159":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"124":{"tf":2.449489742783178},"126":{"tf":2.0},"127":{"tf":1.7320508075688772},"129":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"174":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"h":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":2.449489742783178}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"139":{"tf":1.0},"141":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"51":{"tf":1.0}}},"df":2,"docs":{"50":{"tf":1.7320508075688772},"51":{"tf":2.23606797749979}}}},"df":18,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":2.0},"159":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"n":{"df":11,"docs":{"105":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.4142135623730951},"159":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"142":{"tf":1.7320508075688772},"149":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"128":{"tf":2.0},"148":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}},"u":{"df":1,"docs":{"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"108":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"109":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"95":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"df":2,"docs":{"10":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"157":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"106":{"tf":2.23606797749979},"135":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"137":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":5,"docs":{"105":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"102":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":51,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":2.449489742783178},"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":2.0},"111":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"65":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":2.0},"80":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772},"90":{"tf":2.6457513110645907},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}}},"y":{"'":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":10,"docs":{"117":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":2.8284271247461903},"95":{"tf":2.0}}}}},"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":1,"docs":{"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}},"s":{")":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"s":{"df":2,"docs":{"138":{"tf":1.0},"162":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{":":{"=":{"\"":{"0":{"6":{"6":{"6":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"118":{"tf":2.23606797749979},"124":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"69":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.7320508075688772}},"l":{"df":6,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0}}},"r":{"df":3,"docs":{"78":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"78":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"131":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":25,"docs":{"1":{"tf":1.0},"102":{"tf":3.1622776601683795},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":2.449489742783178},"118":{"tf":2.6457513110645907},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.8284271247461903},"150":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":2.0},"90":{"tf":1.7320508075688772},"93":{"tf":2.0},"94":{"tf":1.4142135623730951},"96":{"tf":2.23606797749979},"98":{"tf":2.0}},"e":{"'":{"df":3,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"165":{"tf":1.4142135623730951},"176":{"tf":2.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}}}},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"(":{")":{".":{"0":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"154":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":37,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"124":{"tf":1.0},"159":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"158":{"tf":2.6457513110645907}}}}},"v":{".":{"df":0,"docs":{},"w":{"df":3,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":2.0}}}},"df":5,"docs":{"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":9,"docs":{"101":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":2.0},"158":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}},"w":{"df":2,"docs":{"75":{"tf":2.6457513110645907},"78":{"tf":1.0}}}}},"s":{"=":{"5":{"0":{"0":{"df":1,"docs":{"66":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"67":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.449489742783178}},"p":{"4":{"3":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"113":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":2.23606797749979},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"24":{"tf":1.4142135623730951},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"77":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"145":{"tf":3.1622776601683795},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":28,"docs":{"105":{"tf":2.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"142":{"tf":2.23606797749979},"65":{"tf":1.7320508075688772},"66":{"tf":3.605551275463989},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":4.123105625617661},"77":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"90":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"133":{"tf":1.0},"165":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"75":{"tf":1.0}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":8,"docs":{"106":{"tf":1.4142135623730951},"171":{"tf":2.6457513110645907},"172":{"tf":2.0},"173":{"tf":1.0},"175":{"tf":3.1622776601683795},"65":{"tf":2.0},"71":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":36,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"118":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":3.0},"143":{"tf":1.0},"146":{"tf":1.0},"17":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"94":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"140":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"w":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"92":{"tf":1.0},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"101":{"tf":1.7320508075688772},"128":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"24":{"tf":2.0},"26":{"tf":1.4142135623730951},"53":{"tf":1.0},"92":{"tf":2.0},"96":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.7320508075688772}}}}}},"x":{"df":0,"docs":{},"t":{"df":31,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":2.6457513110645907},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"69":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.6457513110645907},"78":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"139":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}}},"x":{"df":10,"docs":{"46":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":31,"docs":{"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"3":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":24,"docs":{"142":{"tf":1.7320508075688772},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"37":{"tf":2.0},"41":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":3.3166247903554},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"63":{"tf":3.4641016151377544},"65":{"tf":1.4142135623730951},"66":{"tf":3.0},"67":{"tf":3.3166247903554},"69":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"75":{"tf":1.0},"96":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}}}},"p":{"df":1,"docs":{"85":{"tf":2.0}},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"165":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"132":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"e":{"df":35,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"16":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"h":{"df":7,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"146":{"tf":1.0},"57":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"55":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":38,"docs":{"102":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"163":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":3.1622776601683795},"67":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":2.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}}},"p":{"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":15,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"152":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.0},"56":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":2,"docs":{"56":{"tf":1.4142135623730951},"71":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"150":{"tf":1.0},"72":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"75":{"tf":2.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":7,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"55":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"149":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"162":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":4,"docs":{"77":{"tf":3.4641016151377544},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}},"df":6,"docs":{"139":{"tf":2.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"166":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"k":{"df":10,"docs":{"106":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.4142135623730951},"14":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"175":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"118":{"tf":1.0},"151":{"tf":1.0},"74":{"tf":1.0}}}}}},"c":{"df":9,"docs":{"124":{"tf":1.0},"170":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"df":45,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"111":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":2.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":2.0},"146":{"tf":1.0},"158":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"18":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":3.3166247903554},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":2.23606797749979},"96":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"148":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"102":{"tf":1.0},"169":{"tf":1.0},"3":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"143":{"tf":1.4142135623730951},"162":{"tf":2.0},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}},"o":{"c":{"d":{"'":{"df":3,"docs":{"166":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"g":{"d":{"b":{"df":6,"docs":{"63":{"tf":3.0},"64":{"tf":1.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":2.0}}}}}},"df":33,"docs":{"102":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":2.0},"163":{"tf":2.23606797749979},"164":{"tf":2.449489742783178},"165":{"tf":1.7320508075688772},"166":{"tf":2.6457513110645907},"169":{"tf":1.0},"17":{"tf":1.0},"176":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"38":{"tf":2.449489742783178},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.3166247903554},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"20":{"tf":1.0},"56":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"14":{"tf":2.0},"159":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"141":{"tf":1.0},"159":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":11,"docs":{"10":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"145":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"65":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"66":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":23,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.449489742783178},"3":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":33,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.23606797749979},"71":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.23606797749979},"111":{"tf":1.0},"123":{"tf":1.7320508075688772},"13":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.0},"176":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":2.0}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}}}}}},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"p":{"/":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"79":{"tf":1.0}}}},"a":{"1":{"0":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":2,"docs":{"102":{"tf":1.7320508075688772},"123":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":11,"docs":{"12":{"tf":1.7320508075688772},"124":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.4142135623730951},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"63":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}},"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":2.0},"61":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":12,"docs":{"102":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":2.23606797749979},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":2.0},"117":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}}}}}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"56":{"tf":1.0},"71":{"tf":2.6457513110645907}},"k":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"47":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"94":{"tf":1.7320508075688772},"96":{"tf":1.0}}}}},"s":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"t":{"df":17,"docs":{"106":{"tf":1.0},"128":{"tf":1.7320508075688772},"14":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"67":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"90":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"56":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"t":{"df":2,"docs":{"56":{"tf":1.0},"65":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"102":{"tf":1.0},"28":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":2.0},"39":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}},"y":{"df":1,"docs":{"65":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"70":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"6":{"df":1,"docs":{"129":{"tf":1.0}}},"7":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"c":{"4":{"df":3,"docs":{"101":{"tf":1.7320508075688772},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"101":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"b":{"df":1,"docs":{"10":{"tf":1.0}}},"df":10,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":2.0}},"e":{"1":{"1":{"df":1,"docs":{"74":{"tf":2.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"74":{"tf":2.23606797749979}}},"df":0,"docs":{},"r":{"df":5,"docs":{"105":{"tf":1.0},"140":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"52":{"tf":1.4142135623730951},"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"150":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":20,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":2.23606797749979},"152":{"tf":1.0},"154":{"tf":1.4142135623730951},"72":{"tf":1.7320508075688772},"74":{"tf":2.23606797749979},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":2.8284271247461903},"81":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"44":{"tf":2.449489742783178},"78":{"tf":2.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"140":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"135":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"90":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"d":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":3,"docs":{"166":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":3,"docs":{"10":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":2.8284271247461903}},"e":{"c":{"df":2,"docs":{"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":21,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":4.242640687119285},"111":{"tf":2.23606797749979},"115":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":2.8284271247461903},"123":{"tf":2.8284271247461903},"129":{"tf":1.0},"151":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"53":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":4.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"81":{"tf":2.23606797749979},"82":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":10,"docs":{"158":{"tf":1.0},"171":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"159":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"139":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"140":{"tf":1.0},"143":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"155":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":2.23606797749979}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"c":{"a":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"g":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"x":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":1,"docs":{"138":{"tf":1.0}}},"u":{"df":2,"docs":{"67":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"44":{"tf":1.0},"96":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":2.6457513110645907},"16":{"tf":1.0},"173":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.0},"65":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"146":{"tf":1.0},"148":{"tf":1.0},"163":{"tf":2.449489742783178},"164":{"tf":2.449489742783178}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"86":{"tf":1.0}}}},"p":{"df":3,"docs":{"85":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":18,"docs":{"117":{"tf":1.4142135623730951},"123":{"tf":1.0},"166":{"tf":2.6457513110645907},"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"74":{"tf":3.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.0},"96":{"tf":2.6457513110645907},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"133":{"tf":1.7320508075688772},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"146":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"8":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"139":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.0},"153":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":3.3166247903554},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}},"r":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"129":{"tf":1.0},"2":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"135":{"tf":1.0},"158":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}},"df":3,"docs":{"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"145":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"145":{"tf":1.4142135623730951},"159":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":12,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":8,"docs":{"109":{"tf":1.0},"118":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"67":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":22,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.7320508075688772},"2":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}}}}},"g":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"113":{"tf":1.4142135623730951},"14":{"tf":1.0},"52":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"158":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"x":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}},"df":20,"docs":{"10":{"tf":1.0},"106":{"tf":1.7320508075688772},"131":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":3.0},"174":{"tf":3.0},"175":{"tf":2.449489742783178},"65":{"tf":3.605551275463989},"66":{"tf":3.4641016151377544},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"df":0,"docs":{},"{":{":":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"33":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"162":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"13":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.4142135623730951},"167":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.7320508075688772}}}}}},"c":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"66":{"tf":1.0}}}}},"df":1,"docs":{"102":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"166":{"tf":1.0}}},"df":10,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"166":{"tf":2.0},"3":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"152":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":2.449489742783178},"59":{"tf":1.0},"65":{"tf":2.0},"72":{"tf":1.7320508075688772},"76":{"tf":2.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"14":{"tf":1.0},"153":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"78":{"tf":1.0},"87":{"tf":1.0}},"t":{"df":2,"docs":{"13":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":52,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.0},"169":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":3.0},"56":{"tf":2.23606797749979},"57":{"tf":2.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":4.0},"66":{"tf":4.795831523312719},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":2.449489742783178},"77":{"tf":1.7320508075688772},"78":{"tf":2.23606797749979},"79":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"94":{"tf":1.0}},"m":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"59":{"tf":1.0}}},"df":7,"docs":{"14":{"tf":1.0},"159":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"132":{"tf":1.0},"140":{"tf":2.0},"150":{"tf":1.0},"159":{"tf":1.0},"70":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"149":{"tf":1.0},"162":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"84":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":14,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"124":{"tf":2.8284271247461903},"125":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":2.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":3.3166247903554}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"65":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"c":{"df":3,"docs":{"86":{"tf":2.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"0":{"df":0,"docs":{},"x":{"4":{"8":{"0":{"0":{"_":{"1":{"8":{"0":{"0":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"_":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"75":{"tf":2.8284271247461903},"77":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":4,"docs":{"106":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951}}},"df":1,"docs":{"94":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"140":{"tf":1.0},"143":{"tf":1.0}}},"s":{"df":5,"docs":{"1":{"tf":1.0},"150":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"148":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"139":{"tf":2.0},"140":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"157":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"d":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"107":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"86":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"t":{"df":7,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"17":{"tf":1.0},"39":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":2.23606797749979}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"q":{"4":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":10,"docs":{"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":3.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"95":{"tf":1.0}},"u":{"a":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":2.8284271247461903},"134":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"121":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"107":{"tf":1.0},"137":{"tf":1.4142135623730951},"5":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"104":{"tf":1.0},"105":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"149":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"71":{"tf":2.6457513110645907},"75":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"56":{"tf":1.0},"90":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}},"0":{"df":7,"docs":{"168":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":5.291502622129181},"75":{"tf":5.385164807134504},"76":{"tf":4.123105625617661},"78":{"tf":2.449489742783178}}},"1":{"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"df":4,"docs":{"66":{"tf":3.872983346207417},"75":{"tf":4.0},"76":{"tf":1.4142135623730951},"78":{"tf":2.8284271247461903}}},"2":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"66":{"tf":2.0},"76":{"tf":1.4142135623730951}}},"4":{"df":2,"docs":{"66":{"tf":2.0},"85":{"tf":2.23606797749979}}},"5":{"df":1,"docs":{"85":{"tf":2.0}}},"7":{"df":5,"docs":{"65":{"tf":2.0},"66":{"tf":2.6457513110645907},"75":{"tf":3.1622776601683795},"78":{"tf":2.0},"85":{"tf":1.4142135623730951}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"135":{"tf":1.7320508075688772},"136":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"163":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"86":{"tf":1.0}}}},"m":{"df":5,"docs":{"148":{"tf":2.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"138":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":5,"docs":{"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"140":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}}},"w":{"df":3,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0}}}},"c":{"c":{".":{"a":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":3,"docs":{"138":{"tf":2.449489742783178},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"129":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.4142135623730951},"65":{"tf":2.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"66":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":37,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":2.8284271247461903},"130":{"tf":1.7320508075688772},"131":{"tf":3.605551275463989},"132":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.7320508075688772},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"81":{"tf":1.0},"94":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"56":{"tf":1.0}}}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":1,"docs":{"68":{"tf":1.0}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"159":{"tf":1.0},"2":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"14":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":17,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":2.449489742783178},"109":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"170":{"tf":1.0},"66":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"38":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":12,"docs":{"111":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"c":{"df":2,"docs":{"131":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"164":{"tf":1.4142135623730951},"44":{"tf":1.0},"56":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"129":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":2.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.7320508075688772}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":28,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"128":{"tf":2.6457513110645907},"129":{"tf":4.123105625617661},"130":{"tf":2.23606797749979},"131":{"tf":3.4641016151377544},"148":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"175":{"tf":2.23606797749979},"56":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":2.6457513110645907},"73":{"tf":1.4142135623730951},"74":{"tf":4.242640687119285},"75":{"tf":3.1622776601683795},"76":{"tf":3.0},"77":{"tf":2.0},"78":{"tf":6.244997998398398},"79":{"tf":3.7416573867739413},"80":{"tf":2.8284271247461903},"81":{"tf":2.449489742783178},"86":{"tf":3.7416573867739413},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"2":{"2":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"75":{"tf":1.0},"78":{"tf":1.0}}},"9":{"df":3,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"+":{"2":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"h":{"1":{"9":{"9":{"df":0,"docs":{},"f":{"1":{"3":{"5":{"9":{"5":{"0":{"1":{"d":{"5":{"c":{"7":{"1":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"b":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"5":{"3":{"df":0,"docs":{},"e":{"1":{"8":{"a":{"a":{"8":{"d":{"0":{"+":{"0":{"df":0,"docs":{},"x":{"2":{"8":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"2":{"df":0,"docs":{},"e":{"3":{"4":{"3":{"6":{"df":0,"docs":{},"f":{"a":{"3":{"8":{"c":{"d":{"6":{"df":0,"docs":{},"f":{"2":{"+":{"0":{"df":0,"docs":{},"x":{"4":{"4":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"147":{"tf":1.4142135623730951}}}},"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"138":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":14,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"14":{"tf":1.0},"163":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":2.6457513110645907},"75":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"128":{"tf":1.0},"143":{"tf":1.0},"156":{"tf":1.4142135623730951}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"a":{"d":{"df":2,"docs":{"35":{"tf":1.7320508075688772},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":3,"docs":{"138":{"tf":1.0},"141":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":3,"docs":{"65":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.4142135623730951},"60":{"tf":2.0},"61":{"tf":2.0},"62":{"tf":2.0},"65":{"tf":2.23606797749979},"66":{"tf":3.0},"67":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178}}},"v":{"df":3,"docs":{"101":{"tf":1.0},"165":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"119":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":2,"docs":{"90":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"68":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"132":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":4,"docs":{"133":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"109":{"tf":1.4142135623730951},"115":{"tf":1.0},"131":{"tf":1.4142135623730951},"143":{"tf":1.0},"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.8284271247461903},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"124":{"tf":1.0},"14":{"tf":2.449489742783178},"166":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"78":{"tf":2.0}}}},"t":{"df":13,"docs":{"142":{"tf":1.0},"163":{"tf":1.4142135623730951},"176":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"65":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"11":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"10":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"m":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"107":{"tf":1.4142135623730951},"137":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"65":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":2.23606797749979}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":13,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":2.449489742783178},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}}}}},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":3,"docs":{"111":{"tf":1.0},"116":{"tf":2.0},"17":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":2.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0}}}}}}},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":23,"docs":{"111":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":2.0},"93":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.449489742783178},"140":{"tf":1.0},"158":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":17,"docs":{"55":{"tf":2.0},"56":{"tf":2.6457513110645907},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772},"62":{"tf":2.449489742783178},"63":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.0},"67":{"tf":2.449489742783178},"68":{"tf":1.0},"69":{"tf":2.8284271247461903},"83":{"tf":1.0},"84":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0}},"s":{":":{"1":{"0":{"df":2,"docs":{"63":{"tf":1.0},"65":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":1.0}}},"5":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"66":{"tf":2.0}}},"df":0,"docs":{}},"7":{"df":4,"docs":{"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"9":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"166":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.0},"75":{"tf":1.0}}}}}},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"138":{"tf":2.0}}}},"p":{"c":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"t":{"c":{"c":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"154":{"tf":1.4142135623730951}}},"df":6,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":2.0},"76":{"tf":1.4142135623730951}},"o":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"73":{"tf":1.0},"74":{"tf":1.7320508075688772}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"33":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":50,"docs":{"10":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"176":{"tf":1.0},"20":{"tf":2.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.6457513110645907},"64":{"tf":1.4142135623730951},"65":{"tf":2.6457513110645907},"66":{"tf":3.7416573867739413},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"70":{"tf":3.0},"71":{"tf":2.0},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.7320508075688772},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"96":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":3.1622776601683795},"67":{"tf":2.8284271247461903}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"/":{"d":{"5":{"a":{"8":{"2":{"b":{"b":{"d":{"2":{"6":{"df":0,"docs":{},"e":{"1":{"a":{"d":{"8":{"b":{"7":{"4":{"0":{"1":{"df":0,"docs":{},"f":{"6":{"a":{"7":{"1":{"8":{"a":{"9":{"c":{"5":{"7":{"c":{"9":{"6":{"9":{"0":{"5":{"4":{"8":{"3":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}},"s":{":":{"3":{"9":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"df":2,"docs":{"18":{"tf":2.23606797749979},"56":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":17,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":1.0},"149":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":2.0},"56":{"tf":1.7320508075688772},"6":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"168":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.7320508075688772}}}}}}},"w":{"df":2,"docs":{"44":{"tf":2.8284271247461903},"93":{"tf":1.7320508075688772}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"107":{"tf":1.0},"129":{"tf":1.0}}}}}},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"a":{"d":{"d":{"1":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"78":{"tf":2.449489742783178}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":18,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"172":{"tf":1.4142135623730951},"176":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.4142135623730951},"140":{"tf":1.0},"56":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"146":{"tf":1.4142135623730951},"154":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0}}}},"w":{"df":3,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"78":{"tf":1.0}}}},"b":{"1":{"0":{"df":1,"docs":{"70":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"n":{"df":2,"docs":{"114":{"tf":2.0},"115":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"148":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"o":{":":{"0":{"df":1,"docs":{"113":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"132":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"138":{"tf":1.0},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}}},"d":{"a":{"df":2,"docs":{"124":{"tf":1.0},"129":{"tf":1.0}}},"df":0,"docs":{}},"df":9,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.7320508075688772}},"e":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"51":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"66":{"tf":2.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":13,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"154":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":37,"docs":{"101":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"144":{"tf":1.0},"165":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"65":{"tf":1.0},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":2.23606797749979},"71":{"tf":2.0},"74":{"tf":2.8284271247461903},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":2.0},"137":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"170":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":3.0},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"75":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"m":{"df":1,"docs":{"74":{"tf":1.0}}},"n":{"df":1,"docs":{"140":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"175":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"59":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"2":{"0":{"0":{"0":{"9":{"df":0,"docs":{},"f":{"a":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"4":{"df":1,"docs":{"66":{"tf":3.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"n":{"d":{"df":23,"docs":{"102":{"tf":1.0},"103":{"tf":2.6457513110645907},"104":{"tf":2.23606797749979},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"149":{"tf":1.0},"166":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"90":{"tf":1.7320508075688772},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":9,"docs":{"128":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"38":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"140":{"tf":2.23606797749979},"142":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"1":{"tf":1.0},"124":{"tf":2.0},"128":{"tf":3.0},"129":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.7320508075688772},"159":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}}}}},"t":{"df":7,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"138":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}},"df":1,"docs":{"44":{"tf":1.0}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"!":{"(":{"$":{"(":{"$":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{")":{"*":{")":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}},"df":31,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":3.605551275463989},"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"123":{"tf":2.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"129":{"tf":1.0},"14":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":3.7416573867739413},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.449489742783178},"94":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":3.3166247903554},"97":{"tf":1.0},"98":{"tf":2.23606797749979},"99":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}}},"i":{"c":{"df":3,"docs":{"10":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"158":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"169":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"70":{"tf":1.0},"96":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}}}}}}},"df":57,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":3.1622776601683795},"66":{"tf":3.3166247903554},"67":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":15,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.7320508075688772},"138":{"tf":1.0},"15":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"138":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"128":{"tf":1.7320508075688772},"137":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":2,"docs":{"28":{"tf":1.0},"65":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"p":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.7320508075688772}}}}},"df":6,"docs":{"170":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":1,"docs":{"71":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"66":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"86":{"tf":2.0}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":13,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"173":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":9,"docs":{"118":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"165":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":10,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"65":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"66":{"tf":2.23606797749979},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":3,"docs":{"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"173":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"137":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"141":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"124":{"tf":1.4142135623730951}}},"df":5,"docs":{"111":{"tf":1.0},"170":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"56":{"tf":1.0},"65":{"tf":1.0},"75":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"118":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":2.23606797749979},"107":{"tf":2.0},"108":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.7320508075688772},"145":{"tf":1.0},"159":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"t":{"df":5,"docs":{"140":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":2,"docs":{"14":{"tf":2.0},"39":{"tf":1.0}}}},"x":{"df":2,"docs":{"131":{"tf":2.0},"65":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":14,"docs":{"16":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"20":{"tf":3.4641016151377544},"51":{"tf":1.0},"56":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":2.0},"64":{"tf":2.23606797749979},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"69":{"tf":2.6457513110645907},"70":{"tf":2.0},"71":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"112":{"tf":1.0},"65":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":2.23606797749979},"126":{"tf":2.449489742783178},"127":{"tf":2.23606797749979},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"146":{"tf":2.449489742783178}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"155":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"155":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":1,"docs":{"138":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"166":{"tf":1.7320508075688772},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"144":{"tf":1.7320508075688772},"59":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"110":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.7320508075688772},"134":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"142":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"82":{"tf":1.7320508075688772},"84":{"tf":1.0}}}},"v":{"df":3,"docs":{"13":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}}},"w":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"132":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":18,"docs":{"105":{"tf":1.4142135623730951},"131":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"94":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"158":{"tf":1.0},"50":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"147":{"tf":1.0},"159":{"tf":1.0},"86":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"128":{"tf":1.0},"159":{"tf":1.4142135623730951},"4":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"175":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":5.744562646538029},"75":{"tf":2.23606797749979},"76":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":7,"docs":{"124":{"tf":1.0},"14":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"21":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":6,"docs":{"166":{"tf":1.0},"17":{"tf":1.0},"172":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":9,"docs":{"150":{"tf":1.0},"159":{"tf":1.0},"48":{"tf":2.0},"59":{"tf":2.0},"64":{"tf":3.0},"65":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"90":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.4142135623730951}},"n":{"df":3,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"84":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":2.6457513110645907}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"77":{"tf":1.7320508075688772}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}}}},"c":{"/":{"0":{"5":{"df":6,"docs":{"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":3.1622776601683795}}},"6":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"7":{"df":4,"docs":{"75":{"tf":2.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"0":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"0":{"0":{"df":0,"docs":{},"e":{"0":{"1":{"0":{"df":1,"docs":{"66":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":2,"docs":{"86":{"tf":1.0},"88":{"tf":1.0}}},"t":{"'":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"20":{"tf":1.0}},"e":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"175":{"tf":1.7320508075688772},"55":{"tf":1.0},"65":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"166":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"124":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.7320508075688772},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"t":{"df":33,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"48":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"55":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"151":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"176":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"104":{"tf":1.4142135623730951},"65":{"tf":3.4641016151377544},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0}}}}}}},"i":{"c":{"df":2,"docs":{"106":{"tf":1.0},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"u":{"df":10,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"129":{"tf":1.0},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.7320508075688772},"86":{"tf":1.0},"88":{"tf":1.0}}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}},"c":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"106":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":10,"docs":{"162":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"p":{"'":{"df":2,"docs":{"65":{"tf":1.0},"67":{"tf":1.0}}},"df":17,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"118":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"172":{"tf":2.23606797749979},"56":{"tf":1.4142135623730951},"65":{"tf":4.69041575982343},"66":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"i":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":2,"docs":{"172":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.7320508075688772}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}}}},"m":{"3":{"2":{"df":1,"docs":{"56":{"tf":1.0}},"f":{"3":{"0":{"3":{"df":0,"docs":{},"v":{"c":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"t":{"6":{"df":1,"docs":{"51":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"79":{"tf":1.0}}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"78":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"c":{":":{":":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"14":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"147":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"56":{"tf":1.4142135623730951}},"x":{".":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":5,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"48":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":3.3166247903554}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.4142135623730951}},"i":{"a":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"df":19,"docs":{"105":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"48":{"tf":1.0},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"108":{"tf":1.0},"151":{"tf":1.0},"94":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"144":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}}},"df":6,"docs":{"106":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":3.605551275463989},"76":{"tf":1.7320508075688772},"78":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"h":{".":{"df":0,"docs":{},"w":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"104":{"tf":2.23606797749979},"105":{"tf":2.23606797749979},"106":{"tf":1.0},"109":{"tf":2.0},"56":{"tf":1.0},"70":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"163":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"143":{"tf":1.0},"148":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"138":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"u":{"b":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"76":{"tf":1.0}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"62":{"tf":2.23606797749979},"80":{"tf":1.0},"81":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":7,"docs":{"132":{"tf":1.0},"157":{"tf":1.0},"16":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":15,"docs":{"113":{"tf":2.0},"116":{"tf":1.4142135623730951},"162":{"tf":1.0},"166":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"153":{"tf":1.0},"61":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.0},"159":{"tf":1.4142135623730951},"45":{"tf":1.0},"65":{"tf":1.0},"90":{"tf":1.0}}}},"s":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.4142135623730951},"149":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}}},"f":{"a":{"c":{"df":2,"docs":{"138":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"145":{"tf":1.7320508075688772}}}}}}}},"v":{"d":{"2":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":1,"docs":{"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"d":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"70":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"151":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"70":{"tf":1.0},"99":{"tf":1.0}}}},"y":{"df":1,"docs":{"138":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":8,"docs":{"174":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"149":{"tf":1.0},"68":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"124":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"100":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":1,"docs":{"56":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"113":{"tf":1.0}}}}},"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"145":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.8284271247461903}}}}}}}},"t":{"a":{"b":{"df":2,"docs":{"138":{"tf":1.0},"65":{"tf":1.7320508075688772}},"l":{"df":5,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"174":{"tf":1.4142135623730951},"56":{"tf":1.0},"74":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"92":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"105":{"tf":2.0},"11":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"144":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"28":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":8,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"df":0,"docs":{},"x":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":7,"docs":{"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"56":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":19,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.1622776601683795},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.449489742783178},"64":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.8284271247461903},"67":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":3.1622776601683795},"159":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0}}}}},"c":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"p":{"/":{"3":{"3":{"3":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":3,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951}}}},"df":4,"docs":{"105":{"tf":1.0},"173":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"156":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"94":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"df":1,"docs":{"166":{"tf":2.23606797749979}}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"100":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":18,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"20":{"tf":1.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.0},"70":{"tf":2.449489742783178},"71":{"tf":1.4142135623730951},"96":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"17":{"tf":2.23606797749979},"20":{"tf":3.0},"63":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"6":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"'":{"df":26,"docs":{"105":{"tf":1.4142135623730951},"123":{"tf":1.0},"128":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"152":{"tf":1.0},"166":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}},"i":{"df":5,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":2,"docs":{"135":{"tf":2.449489742783178},"136":{"tf":3.0}}},"df":0,"docs":{}},"y":{"'":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"149":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"11":{"tf":1.0},"137":{"tf":1.4142135623730951},"14":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"145":{"tf":1.0},"149":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":7,"docs":{"124":{"tf":1.0},"132":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"141":{"tf":1.0},"142":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"128":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}}}},"u":{"df":6,"docs":{"133":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":6,"docs":{"168":{"tf":1.7320508075688772},"56":{"tf":2.8284271247461903},"63":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.0}}}},"m":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"105":{"tf":2.449489742783178},"142":{"tf":1.0},"154":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"m":{"6":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"r":{"1":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"_":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"7":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"83":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":40,"docs":{"10":{"tf":1.7320508075688772},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"154":{"tf":2.23606797749979},"159":{"tf":1.0},"172":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772},"97":{"tf":1.0}},"r":{"df":9,"docs":{"105":{"tf":1.0},"149":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":4.358898943540674},"87":{"tf":2.449489742783178},"88":{"tf":2.23606797749979},"89":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"p":{"df":2,"docs":{"157":{"tf":1.0},"67":{"tf":1.0}}}},"l":{";":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"x":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"p":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772}}}},"o":{",":{"0":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"129":{"tf":2.8284271247461903},"79":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772},"98":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"105":{"tf":2.0},"48":{"tf":1.0},"59":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"168":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":19,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772}}}},"p":{"df":7,"docs":{"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"159":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.0}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"156":{"tf":1.7320508075688772},"159":{"tf":1.0},"3":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"150":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"132":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.4142135623730951},"67":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"175":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}},"k":{"df":4,"docs":{"141":{"tf":1.0},"154":{"tf":1.0},"55":{"tf":1.0},"86":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"f":{"3":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":4,"docs":{"135":{"tf":1.0},"159":{"tf":1.4142135623730951},"56":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"148":{"tf":1.7320508075688772},"165":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"108":{"tf":1.0},"117":{"tf":1.0}}}},"t":{"df":3,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0}},"t":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":2.0},"59":{"tf":2.0}}}}}}}},"p":{"df":4,"docs":{"107":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":22,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"164":{"tf":2.0},"166":{"tf":1.0},"170":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"99":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"123":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":10,"docs":{"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"133":{"tf":2.0},"134":{"tf":2.0},"73":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"138":{"tf":1.0},"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"v":{"df":1,"docs":{"138":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"92":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"0":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":27,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"135":{"tf":2.0},"138":{"tf":1.0},"150":{"tf":1.4142135623730951},"158":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":2.8284271247461903},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"65":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":19,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"70":{"tf":1.0},"73":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.7320508075688772},"94":{"tf":1.0}}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}},"r":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":8,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}},"e":{"df":1,"docs":{"105":{"tf":1.0}}},"i":{"df":1,"docs":{"129":{"tf":1.0}}},"o":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"98":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":17,"docs":{"107":{"tf":1.0},"113":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"159":{"tf":1.0},"174":{"tf":2.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.0},"78":{"tf":2.23606797749979},"94":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"i":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"1":{"6":{",":{"df":0,"docs":{},"u":{"1":{"6":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"[":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"4":{"df":1,"docs":{"131":{"tf":1.0}}},"5":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":9,"docs":{"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"66":{"tf":2.0},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":6,"docs":{"72":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951},"75":{"tf":4.358898943540674},"76":{"tf":1.0},"77":{"tf":2.449489742783178},"78":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"118":{"tf":1.0}}},":":{"9":{"6":{"0":{"0":{",":{"0":{",":{"0":{"df":1,"docs":{"121":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"148":{"tf":1.4142135623730951},"44":{"tf":1.0},"67":{"tf":1.0}}}}},"b":{"df":1,"docs":{"65":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"113":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"35":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"44":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"f":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"76":{"tf":1.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"106":{"tf":1.0},"71":{"tf":1.0}}}}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"48":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"102":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"65":{"tf":1.0}}}}},"r":{"df":4,"docs":{"132":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"131":{"tf":1.0},"14":{"tf":1.4142135623730951},"3":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}}},"t":{"df":6,"docs":{"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.4142135623730951},"50":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"56":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":9,"docs":{"20":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"96":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":7,"docs":{"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"145":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"101":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"168":{"tf":1.4142135623730951},"38":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":56,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":2.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":2.23606797749979},"146":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"166":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"117":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"!":{"(":{"$":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":2.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"=":{"5":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"9":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"105":{"tf":1.0},"110":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{".":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"110":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"d":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":1.4142135623730951},"105":{"tf":2.23606797749979},"106":{"tf":2.0},"107":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.7320508075688772},"123":{"tf":1.0},"148":{"tf":1.0},"53":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"100":{"tf":2.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":2.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"129":{"tf":1.0},"17":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"102":{"tf":2.0},"111":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":2.449489742783178},"155":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"45":{"tf":2.0},"48":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}}},"df":117,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":2.8284271247461903},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.0},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.0},"12":{"tf":1.4142135623730951},"123":{"tf":2.23606797749979},"124":{"tf":2.6457513110645907},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":2.449489742783178},"136":{"tf":2.0},"137":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":1.0},"166":{"tf":3.0},"168":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.4142135623730951},"170":{"tf":2.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":2.6457513110645907},"56":{"tf":1.7320508075688772},"59":{"tf":3.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":2.6457513110645907},"65":{"tf":4.69041575982343},"66":{"tf":4.242640687119285},"67":{"tf":2.0},"69":{"tf":2.0},"70":{"tf":3.1622776601683795},"71":{"tf":2.6457513110645907},"72":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":3.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":2.6457513110645907},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.8284271247461903},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"155":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"]":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"c":{"d":{"/":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"124":{"tf":1.0},"14":{"tf":1.4142135623730951},"155":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"118":{"tf":1.0},"32":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"20":{"tf":1.0}}},"2":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":3,"docs":{"56":{"tf":2.23606797749979},"66":{"tf":1.0},"71":{"tf":1.0}}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"3":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"5":{"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"2":{"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"3":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"7":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"df":2,"docs":{"17":{"tf":1.0},"56":{"tf":1.0}}},"2":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{".":{"0":{"df":2,"docs":{"168":{"tf":1.0},"56":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"4":{"df":1,"docs":{"56":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"df":2,"docs":{"162":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"7":{"df":1,"docs":{"48":{"tf":1.0}}},"df":8,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":32,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":2.6457513110645907},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"153":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"65":{"tf":2.449489742783178},"66":{"tf":3.0},"74":{"tf":2.0},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":1.7320508075688772},"78":{"tf":5.5677643628300215},"79":{"tf":4.69041575982343},"80":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"107":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"37":{"tf":1.0},"38":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"137":{"tf":1.0}}}}},"c":{"c":{"df":3,"docs":{"111":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":3.3166247903554},"79":{"tf":3.3166247903554}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":5,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"56":{"tf":1.0}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":2,"docs":{"109":{"tf":1.0},"110":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":7,"docs":{"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":15,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"i":{"df":14,"docs":{"123":{"tf":1.0},"138":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"105":{"tf":1.0},"17":{"tf":3.0},"19":{"tf":1.0},"20":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.449489742783178},"60":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"i":{"a":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"51":{"tf":1.0},"95":{"tf":1.0}}},"d":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"140":{"tf":1.0},"65":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"168":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":2.0},"75":{"tf":1.0},"85":{"tf":1.0}},"e":{":":{":":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"<":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"u":{"3":{"2":{">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"<":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":2.6457513110645907}}}},"df":1,"docs":{"73":{"tf":1.4142135623730951}},"s":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"r":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"1":{"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"1":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0}}},"6":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"r":{"1":{"0":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"s":{"c":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"7":{"_":{"9":{"9":{"9":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"d":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"a":{"d":{"d":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"r":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"u":{"1":{"6":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.7320508075688772},"110":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"6":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"87":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":2.0},"14":{"tf":1.0},"168":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"y":{"df":16,"docs":{"106":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"159":{"tf":1.0},"28":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"94":{"tf":1.0}}}},"df":6,"docs":{"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":42,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"14":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":3.0},"66":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":2.449489742783178},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"r":{"df":2,"docs":{"51":{"tf":1.0},"65":{"tf":1.0}}},"v":{"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"140":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"149":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"90":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"146":{"tf":1.0}}},"i":{"df":1,"docs":{"146":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":30,"docs":{"106":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"144":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"56":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":5,"docs":{"102":{"tf":1.0},"12":{"tf":1.0},"155":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}},"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"104":{"tf":1.0},"135":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"150":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":18,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"21":{"tf":1.0},"36":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"90":{"tf":1.0},"96":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":16,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":2.6457513110645907},"105":{"tf":1.0},"111":{"tf":2.0},"117":{"tf":1.0},"118":{"tf":2.0},"123":{"tf":2.23606797749979},"129":{"tf":1.0},"14":{"tf":1.4142135623730951},"51":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"131":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"16":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":16,"docs":{"129":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"102":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":33,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":2.23606797749979},"149":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"165":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"60":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}},"s":{":":{"1":{"0":{":":{"5":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"0":{"tf":1.0},"149":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":3.872983346207417},"71":{"tf":3.3166247903554},"93":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"w":{"df":3,"docs":{"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"106":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":2.23606797749979},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"153":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"105":{"tf":1.0},"162":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}}}}}},"x":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":4,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"66":{"tf":2.6457513110645907},"75":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":22,"docs":{"103":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":1.7320508075688772},"136":{"tf":1.0},"137":{"tf":3.1622776601683795},"138":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"140":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"173":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":3.1622776601683795},"64":{"tf":1.0},"65":{"tf":3.7416573867739413},"67":{"tf":2.23606797749979},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"95":{"tf":1.0}},"i":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":4,"docs":{"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":1,"docs":{"133":{"tf":1.0}},"z":{"df":1,"docs":{"131":{"tf":1.0}}}}},"y":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"1":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":13,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"133":{"tf":2.6457513110645907},"134":{"tf":1.7320508075688772},"135":{"tf":2.0},"136":{"tf":1.4142135623730951},"137":{"tf":3.1622776601683795},"138":{"tf":2.0},"140":{"tf":2.23606797749979},"141":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"71":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"140":{"tf":1.0}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"143":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":29,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":2.0},"155":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.23606797749979},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":2,"docs":{"143":{"tf":1.0},"67":{"tf":1.0}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"101":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"150":{"tf":1.0},"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}}}},"z":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"137":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}}},"df":7,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":2.6457513110645907},"137":{"tf":2.8284271247461903},"138":{"tf":1.7320508075688772},"140":{"tf":2.449489742783178},"141":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"0":{"df":0,"docs":{},"x":{"b":{"a":{"a":{"a":{"a":{"a":{"a":{"d":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"4":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"0":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"4":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"133":{"tf":1.0},"134":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"26":{"tf":1.0}}},"df":2,"docs":{"135":{"tf":1.0},"136":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"c":{"df":1,"docs":{"152":{"tf":1.0}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"166":{"tf":1.0},"76":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"79":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":2,"docs":{"37":{"tf":1.0},"52":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"111":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"54":{"tf":1.0}}}}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":6,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"103":{"tf":1.0},"107":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"167":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"61":{"tf":1.0},"62":{"tf":1.0}}}}},"df":2,"docs":{"12":{"tf":1.0},"59":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"141":{"tf":1.0},"67":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"119":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"154":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"118":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"155":{"tf":1.0},"90":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"81":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"165":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"172":{"tf":1.0},"176":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}}}}}}},"d":{"a":{"c":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"171":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"24":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"170":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"66":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"i":{"c":{"df":4,"docs":{"116":{"tf":1.0},"120":{"tf":1.0},"165":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"68":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"m":{"a":{"df":1,"docs":{"148":{"tf":1.0}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"144":{"tf":1.0},"156":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"162":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0}}}}}},"t":{"c":{"/":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"172":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"102":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}}}}},"f":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"162":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"26":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"165":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}}}}}},"g":{"d":{"b":{"df":3,"docs":{"169":{"tf":1.0},"37":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0}}}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"i":{"2":{"c":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"m":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"132":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"40":{"tf":1.0}}},"u":{"df":0,"docs":{},"x":{"df":5,"docs":{"112":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"117":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"84":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"c":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"4":{"df":1,"docs":{"52":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"o":{"df":2,"docs":{"41":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"139":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"147":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"94":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{")":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":7,"docs":{"102":{"tf":1.0},"121":{"tf":1.0},"150":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"145":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"101":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"x":{"df":3,"docs":{"46":{"tf":1.0},"58":{"tf":1.0},"91":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}},"e":{"df":1,"docs":{"37":{"tf":1.0}}}},"p":{"df":1,"docs":{"85":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"139":{"tf":1.0}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"102":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"86":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}},"o":{"c":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":9,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"21":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"123":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"23":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"115":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"175":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"80":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"161":{"tf":1.0},"167":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"125":{"tf":1.0},"155":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"150":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"89":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"m":{"df":1,"docs":{"150":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"121":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"154":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"129":{"tf":1.0},"131":{"tf":1.0},"72":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"156":{"tf":1.0}}}},"o":{"a":{"d":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"23":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"109":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":7,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"f":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"t":{"c":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"74":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"33":{"tf":1.0},"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"18":{"tf":1.0}}},"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"103":{"tf":1.0},"104":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"102":{"tf":1.0},"123":{"tf":1.0},"53":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}},"o":{"df":1,"docs":{"158":{"tf":1.0}}}}},"t":{"df":1,"docs":{"15":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"129":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"146":{"tf":1.0}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"110":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"77":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"40":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}}}},"m":{"3":{"2":{"df":0,"docs":{},"f":{"3":{"0":{"3":{"df":0,"docs":{},"v":{"c":{"df":0,"docs":{},"t":{"6":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"104":{"tf":1.0},"109":{"tf":1.0}}}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"135":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"154":{"tf":1.0}},"r":{"df":2,"docs":{"83":{"tf":1.0},"86":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"144":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"u":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"33":{"tf":1.0},"35":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"113":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}},"b":{"df":1,"docs":{"40":{"tf":1.0}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"143":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"150":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"36":{"tf":1.0},"47":{"tf":1.0},"59":{"tf":1.0},"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}}},"x":{"0":{"0":{"df":0,"docs":{},"m":{"df":2,"docs":{"163":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file diff --git a/f3discovery/tomorrow-night.css b/f3discovery/tomorrow-night.css new file mode 100644 index 000000000..81fe276e7 --- /dev/null +++ b/f3discovery/tomorrow-night.css @@ -0,0 +1,102 @@ +/* Tomorrow Night Theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-attribute, +.hljs-tag, +.hljs-regexp, +.ruby .hljs-constant, +.xml .hljs-tag .hljs-title, +.xml .hljs-pi, +.xml .hljs-doctype, +.html .hljs-doctype, +.css .hljs-id, +.css .hljs-class, +.css .hljs-pseudo { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-preprocessor, +.hljs-pragma, +.hljs-built_in, +.hljs-literal, +.hljs-params, +.hljs-constant { + color: #de935f; +} + +/* Tomorrow Yellow */ +.ruby .hljs-class .hljs-title, +.css .hljs-rule .hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-value, +.hljs-inheritance, +.hljs-header, +.hljs-name, +.ruby .hljs-symbol, +.xml .hljs-cdata { + color: #b5bd68; +} + +/* Tomorrow Aqua */ +.hljs-title, +.css .hljs-hexcolor { + color: #8abeb7; +} + +/* Tomorrow Blue */ +.hljs-function, +.python .hljs-decorator, +.python .hljs-title, +.ruby .hljs-function .hljs-title, +.ruby .hljs-title .hljs-keyword, +.perl .hljs-sub, +.javascript .hljs-title, +.coffeescript .hljs-title { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.javascript .hljs-function { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; +} + +.coffeescript .javascript, +.javascript .xml, +.tex .hljs-formula, +.xml .javascript, +.xml .vbscript, +.xml .css, +.xml .hljs-cdata { + opacity: 0.5; +} + +.hljs-addition { + color: #718c00; +} + +.hljs-deletion { + color: #c82829; +} diff --git a/favicon.png b/favicon.png new file mode 100644 index 000000000..a5b1aa16c Binary files /dev/null and b/favicon.png differ diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 000000000..90e0ea58b --- /dev/null +++ b/favicon.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/fonts/OPEN-SANS-LICENSE.txt b/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/fonts/SOURCE-CODE-PRO-LICENSE.txt b/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 000000000..366206f54 --- /dev/null +++ b/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/fonts/fonts.css b/fonts/fonts.css new file mode 100644 index 000000000..858efa598 --- /dev/null +++ b/fonts/fonts.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('open-sans-v17-all-charsets-300.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('open-sans-v17-all-charsets-300italic.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('open-sans-v17-all-charsets-regular.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v17-all-charsets-italic.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('open-sans-v17-all-charsets-600.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('open-sans-v17-all-charsets-600italic.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v17-all-charsets-700.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v17-all-charsets-700italic.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('open-sans-v17-all-charsets-800.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('open-sans-v17-all-charsets-800italic.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2'); +} diff --git a/fonts/open-sans-v17-all-charsets-300.woff2 b/fonts/open-sans-v17-all-charsets-300.woff2 new file mode 100644 index 000000000..9f51be370 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-300.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-300italic.woff2 b/fonts/open-sans-v17-all-charsets-300italic.woff2 new file mode 100644 index 000000000..2f5454484 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-300italic.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-600.woff2 b/fonts/open-sans-v17-all-charsets-600.woff2 new file mode 100644 index 000000000..f503d558d Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-600.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-600italic.woff2 b/fonts/open-sans-v17-all-charsets-600italic.woff2 new file mode 100644 index 000000000..c99aabe80 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-600italic.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-700.woff2 b/fonts/open-sans-v17-all-charsets-700.woff2 new file mode 100644 index 000000000..421a1ab25 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-700.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-700italic.woff2 b/fonts/open-sans-v17-all-charsets-700italic.woff2 new file mode 100644 index 000000000..12ce3d20d Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-700italic.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-800.woff2 b/fonts/open-sans-v17-all-charsets-800.woff2 new file mode 100644 index 000000000..c94a223b0 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-800.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-800italic.woff2 b/fonts/open-sans-v17-all-charsets-800italic.woff2 new file mode 100644 index 000000000..eed7d3c63 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-800italic.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-italic.woff2 b/fonts/open-sans-v17-all-charsets-italic.woff2 new file mode 100644 index 000000000..398b68a08 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-italic.woff2 differ diff --git a/fonts/open-sans-v17-all-charsets-regular.woff2 b/fonts/open-sans-v17-all-charsets-regular.woff2 new file mode 100644 index 000000000..8383e94c6 Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-regular.woff2 differ diff --git a/fonts/source-code-pro-v11-all-charsets-500.woff2 b/fonts/source-code-pro-v11-all-charsets-500.woff2 new file mode 100644 index 000000000..722245682 Binary files /dev/null and b/fonts/source-code-pro-v11-all-charsets-500.woff2 differ diff --git a/highlight.css b/highlight.css new file mode 100644 index 000000000..ba57b82b2 --- /dev/null +++ b/highlight.css @@ -0,0 +1,82 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/highlight.js b/highlight.js new file mode 100644 index 000000000..18d24345b --- /dev/null +++ b/highlight.js @@ -0,0 +1,54 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..8b1002ce5 --- /dev/null +++ b/index.html @@ -0,0 +1,255 @@ + + + + + + Choose Your Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Discovery

+

Discover the world of microcontrollers through Rust!

+

There are currently two versions of this book. The first is older and uses an +F3 Discovery circuit board to introduce you to microcontrollers and Rust, while +the second is newer and uses a micro:bit circuit board instead.

+ +

Translations

+

This book has been translated by generous volunteers. If you would like your +translation listed here, please open a PR to add it.

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/mark.min.js b/mark.min.js new file mode 100644 index 000000000..163623188 --- /dev/null +++ b/mark.min.js @@ -0,0 +1,7 @@ +/*!*************************************************** +* mark.js v8.11.1 +* https://markjs.io/ +* Copyright (c) 2014–2018, Julian Kühnel +* Released under the MIT license https://git.io/vwTVl +*****************************************************/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c + + + + + Background - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Background

+

What's a microcontroller?

+

A microcontroller is a system on a chip. Whereas your computer is made up of several discrete +components: a processor, RAM, storage, an Ethernet port, etc.; a microcontroller has all those types +of components built into a single "chip" or package. This makes it possible to build systems with +fewer parts.

+

What can you do with a microcontroller?

+

Lots of things! Microcontrollers are the central part of what are known as "embedded systems". +Embedded systems are everywhere, but you don't usually notice them. They control the machines that +wash your clothes, print your documents, and cook your food. Embedded systems keep the buildings +that you live and work in at a comfortable temperature, and control the components that make the +vehicles you travel in stop and go.

+

Most embedded systems operate without user intervention. Even if they expose a user interface like a +washing machine does; most of their operation is done on their own.

+

Embedded systems are often used to control a physical process. To make this possible, they have +one or more devices to tell them about the state of the world ("sensors"), and one or more +devices which allow them to change things ("actuators"). For example, a building climate control +system might have:

+
    +
  • Sensors which measure temperature and humidity in various locations.
  • +
  • Actuators which control the speed of fans.
  • +
  • Actuators which cause heat to be added or removed from the building.
  • +
+

When should I use a microcontroller?

+

Many of the embedded systems listed above could be implemented with a computer running Linux (for +example a "Raspberry Pi"). Why use a microcontroller instead? Sounds like it might be harder to +develop a program.

+

Some reasons might include:

+

Cost. A microcontroller is much cheaper than a general purpose computer. Not only is the +microcontroller cheaper; it also requires many fewer external electrical components to operate. +This makes Printed Circuit Boards (PCB) smaller and cheaper to design and manufacture.

+

Power consumption. Most microcontrollers consume a fraction of the power of a full blown +processor. For applications which run on batteries, that makes a huge difference.

+

Responsiveness. To accomplish their purpose, some embedded systems must always react within a +limited time interval (e.g. the "anti-lock" braking system of a car). If the system misses this +type of deadline, a catastrophic failure might occur. Such a deadline is called a "hard real time" +requirement. An embedded system which is bound by such a deadline is referred to as a "hard +real-time system". A general purpose computer and OS usually has many software components which +share the computer's processing resources. This makes it harder to guarantee execution of a program +within tight time constraints.

+

Reliability. In systems with fewer components (both hardware and software), there is less to go +wrong!

+

When should I not use a microcontroller?

+

Where heavy computations are involved. To keep their power consumption low, microcontrollers have +very limited computational resources available to them. For example, some microcontrollers don't +even have hardware support for floating point operations. On those devices, performing a simple +addition of single precision numbers can take hundreds of CPU cycles.

+

Why use Rust and not C?

+

Hopefully, I don't need to convince you here as you are probably familiar with the language +differences between Rust and C. One point I do want to bring up is package management. C lacks an +official, widely accepted package management solution whereas Rust has Cargo. This makes development +much easier. And, IMO, easy package management encourages code reuse because libraries can be +easily integrated into an application which is also a good thing as libraries get more "battle +testing".

+

Why should I not use Rust?

+

Or why should I prefer C over Rust?

+

The C ecosystem is way more mature. Off the shelf solutions for several problems already exist. If +you need to control a time sensitive process, you can grab one of the existing commercial Real Time +Operating Systems (RTOS) out there and solve your problem. There are no commercial, production-grade +RTOSes in Rust yet so you would have to either create one yourself or try one of the ones that are +in development. You can find a list of those in the Awesome Embedded Rust repository.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/02-requirements/index.html b/microbit/02-requirements/index.html new file mode 100644 index 000000000..c15fb5b11 --- /dev/null +++ b/microbit/02-requirements/index.html @@ -0,0 +1,277 @@ + + + + + + Hardware/knowledge requirements - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Hardware/knowledge requirements

+

The primary knowledge requirement to read this book is to know some Rust. It's +hard for me to quantify some but at least I can tell you that you don't need +to fully grok generics, but you do need to know how to use closures. You also +need to be familiar with the idioms of the 2018 edition, in particular with +the fact that extern crate is not necessary in the 2018 edition.

+

Also, to follow this material you'll need the following hardware:

+ +

(You can purchase this board from several electronics suppliers)

+

+ +

+
+

NOTE This is an image of a micro:bit v2, the front of the v1 looks slightly different

+
+
    +
  • One micro-B USB cable, required to make the micro:bit board work. +Make sure that the cable supports data transfer as some cables only support charging devices.
  • +
+

+ +

+
+

NOTE You may already have a cable like this, as some micro:bit kits ship with such cables. +Some USB cables used to charge mobile devices may also work, if they are micro-B and have the +capability to transmit data.

+
+
+

FAQ: Wait, why do I need this specific hardware?

+
+

It makes my life and yours much easier.

+

The material is much, much more approachable if we don't have to worry about hardware differences. +Trust me on this one.

+
+

FAQ: Can I follow this material with a different development board?

+
+

Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or +whether a high level crate already exists, like the nrf52-hal, for your development board +somewhere. You can look through the Awesome Embedded Rust HAL list for your microcontroller, +if you intend to use a different one.

+

With a different development board, this text would lose most if not all its beginner friendliness +and "easy to follow"-ness, IMO.

+

If you have a different development board and you don't consider yourself a total beginner, you are +better off starting with the quickstart project template.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/03-setup/.cargo/config.toml b/microbit/03-setup/.cargo/config.toml new file mode 100644 index 000000000..6260c5718 --- /dev/null +++ b/microbit/03-setup/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +rustflags = [ + "-C", "link-arg=-Tlink.x", +] diff --git a/microbit/03-setup/Cargo.toml b/microbit/03-setup/Cargo.toml new file mode 100644 index 000000000..45466cf5b --- /dev/null +++ b/microbit/03-setup/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "rtt-check" +version = "0.1.0" +authors = ["Henrik Böving "] +edition = "2018" + +[dependencies] +cortex-m = "0.7.3" +cortex-m-rt = "0.7.0" +rtt-target = { version = "0.3.1", features = ["cortex-m"] } +panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } diff --git a/microbit/03-setup/Embed.toml b/microbit/03-setup/Embed.toml new file mode 100644 index 000000000..d84d0ac75 --- /dev/null +++ b/microbit/03-setup/Embed.toml @@ -0,0 +1,12 @@ +[default.probe] +protocol = "Swd" + +[default.general] +# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2 +# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1 + +[default.rtt] +enabled = true + +[default.gdb] +enabled = false diff --git a/microbit/03-setup/IDE.html b/microbit/03-setup/IDE.html new file mode 100644 index 000000000..77af50d64 --- /dev/null +++ b/microbit/03-setup/IDE.html @@ -0,0 +1,255 @@ + + + + + + Setting up your IDE - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Getting the most out of your IDE

+

All code in this book assumes that you use a simple terminal to build your code, +run it, and interact with it. It also makes no assumption about your text editor.

+

However, you may have your favourite IDEs, providing you auto-complete, type annotation, +your preferred shortcuts and much more. This section explains how to get the most out +of your IDE using the code obtained from this book's repo.

+

Auto-completion, type annotation, and more

+

Some IDEs fail to understand the code, because they fail to determine whether a term +is defined in the microbit or microbit-v2 codebase. If you fail to get auto-completion to work, +you may want to try to edit the Cargo.toml files you encounter through this book, and remove +all references to the version of microbit you are not using. That is: +in the Cargo.toml file you must remove the dependency and features you do not use (the part guarded by #[cfg(feature = "vI")] and the guard itself)

+

IDE configuration

+

Below, we explain how to configure your IDE to get the most out of this book. +If your IDE is not listed below, please improve this book by adding a section, so that the next +reader can get the best experience out of it.

+

How to build with IntelliJ

+

When editing the IntelliJ build configuration, here are a few non-default values:

+
    +
  • You should edit the command. When this book tells you to run cargo embed FLAGS, +You'll need to replace the default value run by the command embed FLAGS,
  • +
  • You should enable "Emulate terminal in output console". Otherwise, your program will fail to print text to a terminal
  • +
  • You should ensure that the working directory is microbit/src/N-name, with N-name being the directory of the chapter you +are reading. You can not run from the src directory since it contains no cargo file.
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/03-setup/build.rs b/microbit/03-setup/build.rs new file mode 100644 index 000000000..c8d8c9141 --- /dev/null +++ b/microbit/03-setup/build.rs @@ -0,0 +1,30 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory (wherever `Cargo.toml` is). However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! a rebuild of the application with new memory settings is ensured after updating `memory.x`. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); +} diff --git a/microbit/03-setup/index.html b/microbit/03-setup/index.html new file mode 100644 index 000000000..51d83ca2e --- /dev/null +++ b/microbit/03-setup/index.html @@ -0,0 +1,309 @@ + + + + + + Setting up a development environment - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Setting up a development environment

+

Dealing with microcontrollers involves several tools as we'll be dealing with an architecture +different from your computer's and we'll have to run and debug programs on a "remote" device.

+

Documentation

+

Tooling is not everything though. Without documentation, it is pretty much impossible to work with +microcontrollers.

+

We'll be referring to all these documents throughout this book:

+ +

Tools

+

We'll use all the tools listed below. Where a minimum version is not specified, any recent version +should work but we have listed the version we have tested.

+
    +
  • +

    Rust 1.57.0 or a newer toolchain.

    +
  • +
  • +

    gdb-multiarch. Tested version: 10.2. Other versions will most likely work as well though +If your distribution/platform does not have gdb-multiarch available arm-none-eabi-gdb +will do the trick as well. Furthermore, some normal gdb binaries are built with multiarch +capabilities as well, you can find further information about this in the sub chapters.

    +
  • +
  • +

    cargo-binutils. Version 0.3.3 or newer.

    +
  • +
+ +
    +
  • +

    minicom on Linux and macOS. Tested version: 2.7.1. Other versions will most likely work as well though

    +
  • +
  • +

    PuTTY on Windows.

    +
  • +
+

Next, follow OS-agnostic installation instructions for a few of the tools:

+

rustc & Cargo

+

Install rustup by following the instructions at https://rustup.rs.

+

If you already have rustup installed double check that you are on the stable +channel and your stable toolchain is up-to-date. rustc -V should return a date +newer than the one shown below:

+
$ rustc -V
+rustc 1.53.0 (53cb7b09b 2021-06-17)
+
+

cargo-binutils

+
$ rustup component add llvm-tools
+
+$ cargo install cargo-binutils --vers 0.3.3
+
+$ cargo size --version
+cargo-size 0.3.3
+
+

cargo-embed

+

In order to install cargo-embed, first install its prerequisites (note: these instructions are part of the more general probe-rs embedded debugging toolkit). Then install it with cargo:

+
$ cargo install cargo-embed --vers 0.18.0
+
+$ cargo embed --version
+cargo-embed 0.18.0
+git commit: crates.io
+
+

This repository

+

Since this book also contains some small Rust code bases used in various chapters +you will also have to download its source code. You can do this in one of the following ways:

+
    +
  • Visit the repository, click the green "Code" button and then the +"Download Zip" one
  • +
  • Clone it using git (if you know git you presumably already have it installed) from the same repository as linked in +the zip approach
  • +
+

OS specific instructions

+

Now follow the instructions specific to the OS you are using:

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/03-setup/linux.html b/microbit/03-setup/linux.html new file mode 100644 index 000000000..3878c6b97 --- /dev/null +++ b/microbit/03-setup/linux.html @@ -0,0 +1,288 @@ + + + + + + Linux - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Linux

+

Here are the installation commands for a few Linux distributions.

+

Ubuntu 20.04 or newer / Debian 10 or newer

+
+

NOTE gdb-multiarch is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
$ sudo apt-get install \
+  gdb-multiarch \
+  minicom
+
+

Fedora 32 or newer

+
+

NOTE gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
$ sudo dnf install \
+  gdb \
+  minicom
+
+

Arch Linux

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
$ sudo pacman -S \
+  arm-none-eabi-gdb \
+  minicom
+
+

Other distros

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+

For distros that don't have packages for ARM's pre-built +toolchain, +download the "Linux 64-bit" file and put its bin directory on your path. +Here's one way to do it:

+
$ mkdir -p ~/local && cd ~/local
+$ tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
+
+

Then, use your editor of choice to append to your PATH in the appropriate +shell init file (e.g. ~/.zshrc or ~/.bashrc):

+
PATH=$PATH:$HOME/local/gcc-arm-none-eabi-9-2020-q2-update/bin
+
+

udev rules

+

These rules let you use USB devices like the micro:bit without root privilege, i.e. sudo.

+

Create this file in /etc/udev/rules.d with the content shown below.

+
$ cat /etc/udev/rules.d/99-microbit.rules
+
+
# CMSIS-DAP for microbit
+SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE:="666"
+
+

Then reload the udev rules with:

+
$ sudo udevadm control --reload-rules
+
+

If you had any board plugged to your computer, unplug them and then plug them in again.

+

Now, go to the next section.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/03-setup/macos.html b/microbit/03-setup/macos.html new file mode 100644 index 000000000..de6466cb9 --- /dev/null +++ b/microbit/03-setup/macos.html @@ -0,0 +1,239 @@ + + + + + + macOS - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

macOS

+

All the tools can be installed using Homebrew:

+
$ # ARM GCC debugger
+$ brew install arm-none-eabi-gdb
+
+$ # Minicom
+$ brew install minicom
+
+

That's all! Go to the next section.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/03-setup/memory.x b/microbit/03-setup/memory.x new file mode 100644 index 000000000..9e2ab65f6 --- /dev/null +++ b/microbit/03-setup/memory.x @@ -0,0 +1,6 @@ +MEMORY +{ + /* NOTE K = KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 16K +} diff --git a/microbit/03-setup/src/main.rs b/microbit/03-setup/src/main.rs new file mode 100644 index 000000000..981cc40d6 --- /dev/null +++ b/microbit/03-setup/src/main.rs @@ -0,0 +1,14 @@ +#![no_std] +#![no_main] + +use panic_rtt_target as _; +use rtt_target::{rtt_init_print, rprintln}; + +use cortex_m_rt::entry; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + rprintln!("Hello World"); + loop {} +} diff --git a/microbit/03-setup/verify.html b/microbit/03-setup/verify.html new file mode 100644 index 000000000..b372fd8c6 --- /dev/null +++ b/microbit/03-setup/verify.html @@ -0,0 +1,282 @@ + + + + + + Verify the installation - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Verify the installation

+

Let's verify that all the tools were installed correctly.

+

Linux only

+

Verify permissions

+

Connect the micro:bit to your computer using a USB cable.

+

The micro:bit should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got +enumerated:

+
$ lsusb | grep -i "NXP ARM mbed"
+Bus 001 Device 065: ID 0d28:0204 NXP ARM mbed
+$ # ^^^        ^^^
+
+

In my case, the micro:bit got connected to the bus #1 and got enumerated as the device #65. This means the +file /dev/bus/usb/001/065 is the micro:bit. Let's check its permissions:

+
$ ls -l /dev/bus/usb/001/065
+crw-rw-rw-. 1 root root 189, 64 Sep  5 14:27 /dev/bus/usb/001/065
+
+

The permissions should be crw-rw-rw-. If it's not ... then check your udev +rules and try re-loading them with:

+
$ sudo udevadm control --reload-rules
+
+

All

+

Verifying cargo-embed

+

First, connect the micro:bit to your Computer using a USB cable.

+

At least an orange LED right next to the USB port of the micro:bit should light up. +Furthermore, if you have never flashed another program on to your micro:bit, the default +program the micro:bit ships with should start blinking the red LEDs on its back, you +can ignore them.

+

Next up you will have to modify Embed.toml in the src/03-setup directory of the +book's source code. In the default.general section you will find two commented out +chip variants:

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+

If you are working with the micro:bit v2 board uncomment the first, for the v1 +uncomment the second line.

+

Next run one of these commands:

+
$ # make sure you are in src/03-setup of the books source code
+$ # If you are working with micro:bit v2
+$ rustup target add thumbv7em-none-eabihf
+$ cargo embed --target thumbv7em-none-eabihf
+
+$ # If you are working with micro:bit v1
+$ rustup target add thumbv6m-none-eabi
+$ cargo embed --target thumbv6m-none-eabi
+
+

If everything works correctly cargo-embed should first compile the small example program +in this directory, then flash it and finally open a nice text based user interface that +prints Hello World.

+

(If it does not, check out general troubleshooting instructions.)

+

This output is coming from the small Rust program you just flashed on to your micro:bit. +Everything is working properly and you can continue with the next chapters!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/03-setup/windows.html b/microbit/03-setup/windows.html new file mode 100644 index 000000000..7047b4c8f --- /dev/null +++ b/microbit/03-setup/windows.html @@ -0,0 +1,242 @@ + + + + + + Windows - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Windows

+

arm-none-eabi-gdb

+

ARM provides .exe installers for Windows. Grab one from here, and follow the instructions. +Just before the installation process finishes tick/select the "Add path to environment variable" +option. Then verify that the tools are in your %PATH%:

+
$ arm-none-eabi-gcc -v
+(..)
+gcc version 5.4.1 20160919 (release) (..)
+
+

PuTTY

+

Download the latest putty.exe from this site and place it somewhere in your %PATH%.

+

Now, go to the next section.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/04-meet-your-hardware/index.html b/microbit/04-meet-your-hardware/index.html new file mode 100644 index 000000000..71126a3f5 --- /dev/null +++ b/microbit/04-meet-your-hardware/index.html @@ -0,0 +1,254 @@ + + + + + + Meet your hardware - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Meet your hardware

+

Let's get familiar with the hardware we'll be working with.

+

micro:bit

+

+ +

+

Here are some of the many components on the board:

+
    +
  • A microcontroller.
  • +
  • A number of LEDs, most notably the LED matrix on the back
  • +
  • Two user buttons as well as a reset button (the one next to the USB port).
  • +
  • One USB port.
  • +
  • A sensor that is both a magnetometer and an accelerometer
  • +
+

Of these components, the most important is the microcontroller (sometimes +shortened to "MCU" for "microcontroller unit"), which is the bigger of the two +black squares sitting on the side of the board with the USB port. The MCU is +what runs your code. You might sometimes read about "programming a board", when +in reality what we are doing is programming the MCU that is installed on the board.

+

If you happen to be interested in a more in detail description of the board you +can checkout the micro:bit website.

+

Since the MCU is so important, let's take a closer look at the one sitting on our board. +Note that only one of the following two sections applies to your board, depending on whether +you are working with a micro:bit v2 or v1.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/04-meet-your-hardware/microbit-v1.html b/microbit/04-meet-your-hardware/microbit-v1.html new file mode 100644 index 000000000..e3e963b95 --- /dev/null +++ b/microbit/04-meet-your-hardware/microbit-v1.html @@ -0,0 +1,282 @@ + + + + + + micro:bit v1 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Nordic nRF51822 (the "nRF51", micro:bit v1)

+

Our MCU has 48 tiny metal pins sitting right underneath it (it's a so called QFN48 chip). +These pins are connected to traces, the little "roads" that act as the wires connecting components +together on the board. The MCU can dynamically alter the electrical properties +of the pins. This works similar to a light switch altering how electrical +current flows through a circuit. By enabling or disabling electrical current to +flow through a specific pin, an LED attached to that pin (via the traces) can +be turned on and off.

+

Each manufacturer uses a different part numbering scheme, but many will allow +you to determine information about a component simply by looking at the part +number. Looking at our MCU's part number (N51822 QFAAH3 1951LN, you probably cannot +see it with your bare eye, but it is on the chip), the n at the +front hints to us that this is a part manufactured by Nordic Semiconductor. +Looking up the part number on their website we quickly find the product page. +There we learn that our chip's main marketing point is that it is a +"Bluetooth Low Energy and 2.4 GHz SoC" (SoC being short for "System on a Chip"), +which explains the RF in the product name since RF is short for radio frequency. +If we search through the documentation of the chip linked on the product page +for a bit we find the product specification which contains chapter 10 "Ordering Information" +dedicated to explaining the weird chip naming. Here we learn that:

+
    +
  • The N51 is the MCU's series, indicating that there are other nRF51 MCUs
  • +
  • The 822 is the part code
  • +
  • The QF is the package code, in this case short for QFN48
  • +
  • The AA is the variant code, indicating how much RAM and flash memory the MCU has, +in our case 256 kilobyte flash and 16 kilobyte RAM
  • +
  • The H3 is the build code, indicating the hardware version (H) as well as the product configuration (3)
  • +
  • The 1951LN is a tracking code, hence it might differ on your chip
  • +
+

The product specification does of course contain a lot more useful information about +the chip, for example that it is based on an ARM® Cortex™-M0 32-bit processor.

+

Arm? Cortex-M0?

+

If our chip is manufactured by Nordic, then who is Arm? And if our chip is the +nRF51822, what is the Cortex-M0?

+

You might be surprised to hear that while "Arm-based" chips are quite +popular, the company behind the "Arm" trademark (Arm Holdings) doesn't +actually manufacture chips for purchase. Instead, their primary business +model is to just design parts of chips. They will then license those designs to +manufacturers, who will in turn implement the designs (perhaps with some of +their own tweaks) in the form of physical hardware that can then be sold. +Arm's strategy here is different from companies like Intel, which both +designs and manufactures their chips.

+

Arm licenses a bunch of different designs. Their "Cortex-M" family of designs +are mainly used as the core in microcontrollers. For example, the Cortex-M0 +(the core our chip is based on) is designed for low cost and low power usage. +The Cortex-M7 is higher cost, but with more features and performance.

+

Luckily, you don't need to know too much about different types of processors +or Cortex designs for the sake of this book. However, you are hopefully now a +bit more knowledgeable about the terminology of your device. While you are +working specifically with an nRF51822, you might find yourself reading +documentation and using tools for Cortex-M-based chips, as the nRF51822 is +based on a Cortex-M design.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/04-meet-your-hardware/microbit-v2.html b/microbit/04-meet-your-hardware/microbit-v2.html new file mode 100644 index 000000000..2a9504cd7 --- /dev/null +++ b/microbit/04-meet-your-hardware/microbit-v2.html @@ -0,0 +1,282 @@ + + + + + + micro:bit v2 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Nordic nRF52833 (the "nRF52", micro:bit v2)

+

Our MCU has 73 tiny metal pins sitting right underneath it (it's a so called aQFN73 chip). +These pins are connected to traces, the little "roads" that act as the wires connecting components +together on the board. The MCU can dynamically alter the electrical properties +of the pins. This works similar to a light switch altering how electrical +current flows through a circuit. By enabling or disabling electrical current to +flow through a specific pin, an LED attached to that pin (via the traces) can +be turned on and off.

+

Each manufacturer uses a different part numbering scheme, but many will allow +you to determine information about a component simply by looking at the part +number. Looking at our MCU's part number (N52833 QIAAA0 2024AL, you probably cannot +see it with your bare eye, but it is on the chip), the n at the +front hints to us that this is a part manufactured by Nordic Semiconductor. +Looking up the part number on their website we quickly find the product page. +There we learn that our chip's main marketing point is that it is a +"Bluetooth Low Energy and 2.4 GHz SoC" (SoC being short for "System on a Chip"), +which explains the RF in the product name since RF is short for radio frequency. +If we search through the documentation of the chip linked on the product page +for a bit we find the product specification which contains chapter 10 "Ordering Information" +dedicated to explaining the weird chip naming. Here we learn that:

+
    +
  • The N52 is the MCU's series, indicating that there are other nRF52 MCUs
  • +
  • The 833 is the part code
  • +
  • The QI is the package code, short for aQFN73
  • +
  • The AA is the variant code, indicating how much RAM and flash memory the MCU has, +in our case 512 kilobyte flash and 128 kilobyte RAM
  • +
  • The A0 is the build code, indicating the hardware version (A) as well as the product configuration (0)
  • +
  • The 2024AL is a tracking code, hence it might differ on your chip
  • +
+

The product specification does of course contain a lot more useful information about +the chip, for example that it is based on an ARM® Cortex™-M4 32-bit processor.

+

Arm? Cortex-M4?

+

If our chip is manufactured by Nordic, then who is Arm? And if our chip is the +nRF52833, what is the Cortex-M4?

+

You might be surprised to hear that while "Arm-based" chips are quite +popular, the company behind the "Arm" trademark (Arm Holdings) doesn't +actually manufacture chips for purchase. Instead, their primary business +model is to just design parts of chips. They will then license those designs to +manufacturers, who will in turn implement the designs (perhaps with some of +their own tweaks) in the form of physical hardware that can then be sold. +Arm's strategy here is different from companies like Intel, which both +designs and manufactures their chips.

+

Arm licenses a bunch of different designs. Their "Cortex-M" family of designs +are mainly used as the core in microcontrollers. For example, the Cortex-M4 +(the core our chip is based on) is designed for low cost and low power usage. +The Cortex-M7 is higher cost, but with more features and performance.

+

Luckily, you don't need to know too much about different types of processors +or Cortex designs for the sake of this book. However, you are hopefully now a +bit more knowledgeable about the terminology of your device. While you are +working specifically with an nRF52833, you might find yourself reading +documentation and using tools for Cortex-M-based chips, as the nRF52833 is +based on a Cortex-M design.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/04-meet-your-hardware/terminology.html b/microbit/04-meet-your-hardware/terminology.html new file mode 100644 index 000000000..fd98912da --- /dev/null +++ b/microbit/04-meet-your-hardware/terminology.html @@ -0,0 +1,282 @@ + + + + + + Rust Embedded terminology - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Rust Embedded terminology

+

Before we dive into programming the micro:bit let's have a quick look +at the libraries and terminology that will be important for all the +future chapters.

+

Abstraction layers

+

For any fully supported microcontroller/board with a microcontroller +you will usually hear the following terms being used for their levels +of abstraction:

+

Peripheral Access Crate (PAC)

+

The job of the PAC is to provide a safe (ish) direct interface to the +peripherals of the chip, allowing you to configure +every last bit however you want (of course also in wrong ways). Usually +you only ever have to deal with the PAC if either the layers that are +higher up don't fulfill your needs or when you are developing them. +The PAC we are (implicitly) going to use is either the one for the nRF52 +or for the nRF51.

+

The Hardware Abstraction Layer (HAL)

+

The job of the HAL is to build up on top of +the chip's PAC and provide an abstraction that is actually usable for +someone who does not know about all the special behaviour of this chip. +Usually they abstract whole peripherals away into single structs that can +for example be used to send data around via the peripheral. We are +going to use the nRF52-hal or the nRF51-hal respectively.

+

The Board Support Crate (historically called Board Support Package, or BSP)

+

The job of the BSP is to abstract a whole board +(such as the micro:bit) away at once. That means it has to provide +abstractions to use both the microcontroller as well as the sensors, +LEDs etc. that might be present on the board. Quite often (especially +with custom-made boards) you will just be working with a HAL for the +chip and build the drivers for the sensors either yourself or +search for them on crates.io. Luckily for us though, the micro:bit +does actually have a BSP so we are going to use that on top of our +HAL as well.

+

Unifying the layers

+

Next we are going to have a look at a very central piece of software +in the Rust Embedded world: embedded-hal. As its name suggests it +relates to the 2nd level of abstraction we got to know: the HALs. +The idea behind embedded-hal is to provide a set of traits that +describe behaviour which is usually shared across all implementations +of a specific peripheral in all the HALs. For example one would always +expect to have functions that are capable of turning the power on a pin +either on or off. For example to switch an LED on and off on the board. +This allows us to write a driver for, say a temperature sensor, that +can be used on any chip for which an implementation of the embedded-hal traits exists, +simply by writing the driver in such a way that it only relies on the +embedded-hal traits. Drivers that are written in such a way are called +platform agnostic and luckily for us most of the drivers on crates.io +are actually platform agnostic.

+

Further reading

+

If you want to learn more about these levels of abstraction, Franz Skarman, +a.k.a. TheZoq2, held a talk about this topic during Oxidize 2020, called +An Overview of the Embedded Rust Ecosystem.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/.cargo/config.toml b/microbit/05-led-roulette/.cargo/config.toml new file mode 100644 index 000000000..6260c5718 --- /dev/null +++ b/microbit/05-led-roulette/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +rustflags = [ + "-C", "link-arg=-Tlink.x", +] diff --git a/microbit/05-led-roulette/Cargo.toml b/microbit/05-led-roulette/Cargo.toml new file mode 100644 index 000000000..1f405fb85 --- /dev/null +++ b/microbit/05-led-roulette/Cargo.toml @@ -0,0 +1,30 @@ +[package] +name = "led-roulette" +version = "0.1.0" +authors = ["Henrik Böving "] +edition = "2018" + +[dependencies.microbit-v2] +version = "0.12.0" +optional = true + +[dependencies.microbit] +version = "0.12.0" +optional = true + +[dependencies] +cortex-m = "0.7.3" +cortex-m-rt = "0.7.0" +panic-halt = "0.2.0" +#rtt-target = { version = "0.3.1", features = ["cortex-m"] } +#panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } + +[dev-dependencies] +# Sneak in dependencies for examples which clash with panic-hal when generating +# docs with rustdoc. +rtt-target = { version = "0.3.1", features = ["cortex-m"] } +panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } + +[features] +v2 = ["microbit-v2"] +v1 = ["microbit"] diff --git a/microbit/05-led-roulette/Embed.toml b/microbit/05-led-roulette/Embed.toml new file mode 100644 index 000000000..22375a6fd --- /dev/null +++ b/microbit/05-led-roulette/Embed.toml @@ -0,0 +1,12 @@ +[default.general] +# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2 +# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1 + +[default.reset] +halt_afterwards = true + +[default.rtt] +enabled = false + +[default.gdb] +enabled = true diff --git a/microbit/05-led-roulette/build-it.html b/microbit/05-led-roulette/build-it.html new file mode 100644 index 000000000..d02b24277 --- /dev/null +++ b/microbit/05-led-roulette/build-it.html @@ -0,0 +1,336 @@ + + + + + + Build it - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Build it

+

The first step is to build our "binary" crate. Because the microcontroller has a different +architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple +as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the +argument of that flag: the name of the target.

+

As we already know the microcontroller on the micro:bit v2 has a Cortex-M4F processor in it, the one on v1 a Cortex-M0. +rustc knows how to cross-compile to the Cortex-M architecture and provides several different targets that cover the different processors +families within that architecture:

+
    +
  • thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors
  • +
  • thumbv7m-none-eabi, for the Cortex-M3 processor
  • +
  • thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors
  • +
  • thumbv7em-none-eabihf, for the Cortex-M4F and Cortex-M7F processors
  • +
  • thumbv8m.main-none-eabi, for the Cortex-M33 and Cortex-M35P processors
  • +
  • thumbv8m.main-none-eabihf, for the Cortex-M33F and Cortex-M35PF processors
  • +
+

For the micro:bit v2, we'll use the thumbv7em-none-eabihf target, for v1 the thumbv6m-none-eabi one. +Before cross-compiling you have to download a pre-compiled version of the standard library +(a reduced version of it, actually) for your target. That's done using rustup:

+
# For micro:bit v2
+$ rustup target add thumbv7em-none-eabihf
+# For micro:bit v1
+$ rustup target add thumbv6m-none-eabi
+
+

You only need to do the above step once; rustup will re-install a new standard library +(rust-std component) whenever you update your toolchain. Therefore you can skip this step, if you have already added the necessary target +while verifying your setup.

+

With the rust-std component in place you can now cross compile the program using Cargo:

+
# make sure you are in the `src/05-led-roulette` directory
+
+# For micro:bit v2
+$ cargo build --features v2 --target thumbv7em-none-eabihf
+   Compiling semver-parser v0.7.0
+   Compiling typenum v1.12.0
+   Compiling cortex-m v0.6.3
+   (...)
+   Compiling microbit-v2 v0.10.1
+    Finished dev [unoptimized + debuginfo] target(s) in 33.67s
+
+# For micro:bit v1
+$ cargo build --features v1 --target thumbv6m-none-eabi
+   Compiling fixed v1.2.0
+   Compiling syn v1.0.39
+   Compiling cortex-m v0.6.3
+   (...)
+   Compiling microbit v0.10.1
+	Finished dev [unoptimized + debuginfo] target(s) in 22.73s
+
+
+

NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml +file and build command above will ensure optimizations are off.

+
+

OK, now we have produced an executable. This executable won't blink any LEDs, +it's just a simplified version that we will build upon later in the chapter. +As a sanity check, let's verify that the produced executable is actually an ARM binary:

+
# For micro:bit v2
+# equivalent to `readelf -h target/thumbv7em-none-eabihf/debug/led-roulette`
+$ cargo readobj --features v2 --target thumbv7em-none-eabihf --bin led-roulette -- --file-headers
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+ELF Header:
+  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
+  Class:                             ELF32
+  Data:                              2's complement, little endian
+  Version:                           1 (current)
+  OS/ABI:                            UNIX - System V
+  ABI Version:                       0
+  Type:                              EXEC (Executable file)
+  Machine:                           ARM
+  Version:                           0x1
+  Entry point address:               0x117
+  Start of program headers:          52 (bytes into file)
+  Start of section headers:          793112 (bytes into file)
+  Flags:                             0x5000400
+  Size of this header:               52 (bytes)
+  Size of program headers:           32 (bytes)
+  Number of program headers:         4
+  Size of section headers:           40 (bytes)
+  Number of section headers:         21
+  Section header string table index: 19
+
+# For micro:bit v1
+# equivalent to `readelf -h target/thumbv6m-none-eabi/debug/led-roulette`
+$ cargo readobj --features v1 --target thumbv6m-none-eabi --bin led-roulette -- --file-headers
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+ELF Header:
+  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
+  Class:                             ELF32
+  Data:                              2's complement, little endian
+  Version:                           1 (current)
+  OS/ABI:                            UNIX - System V
+  ABI Version:                       0
+  Type:                              EXEC (Executable file)
+  Machine:                           ARM
+  Version:                           0x1
+  Entry point address:               0xC1
+  Start of program headers:          52 (bytes into file)
+  Start of section headers:          693196 (bytes into file)
+  Flags:                             0x5000200
+  Size of this header:               52 (bytes)
+  Size of program headers:           32 (bytes)
+  Number of program headers:         4
+  Size of section headers:           40 (bytes)
+  Number of section headers:         22
+  Section header string table index: 20
+
+

Next, we'll flash the program into our microcontroller.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/build.rs b/microbit/05-led-roulette/build.rs new file mode 100644 index 000000000..c8d8c9141 --- /dev/null +++ b/microbit/05-led-roulette/build.rs @@ -0,0 +1,30 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory (wherever `Cargo.toml` is). However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! a rebuild of the application with new memory settings is ensured after updating `memory.x`. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); +} diff --git a/microbit/05-led-roulette/debug-it.html b/microbit/05-led-roulette/debug-it.html new file mode 100644 index 000000000..2ad129aca --- /dev/null +++ b/microbit/05-led-roulette/debug-it.html @@ -0,0 +1,419 @@ + + + + + + Debug it - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Debug it

+

How does this even work?

+

Before we debug our little program let's take a moment to quickly understand what is actually +happening here. In the previous chapter we already discussed the purpose of the second chip +on the board as well as how it talks to our computer, but how can we actually use it?

+

The little option default.gdb.enabled = true in Embed.toml made cargo-embed open a so-called "GDB stub" after flashing, +this is a server that our GDB can connect to and send commands like "set a breakpoint at address X" to. The server can then decide +on its own how to handle this command. In the case of the cargo-embed GDB stub it will forward the +command to the debugging probe on the board via USB which then does the job of actually talking to the +MCU for us.

+

Let's debug!

+

Since cargo-embed is blocking our current shell we can simply open a new one and cd back into our project +directory. Once we are there we first have to open the binary in gdb like this:

+
# For micro:bit v2
+$ gdb target/thumbv7em-none-eabihf/debug/led-roulette
+
+# For micro:bit v1
+$ gdb target/thumbv6m-none-eabi/debug/led-roulette
+
+
+

NOTE: Depending on which GDB you installed you will have to use a different command to launch it, +check out chapter 3 if you forgot which one it was.

+
+
+

NOTE: If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory +error, try adding ../../ to the file path, for example:

+
$ gdb ../../target/thumbv7em-none-eabihf/debug/led-roulette
+
+

This is caused by each example project being in a workspace that contains the entire book, and workspaces have +a single target directory. Check out Workspaces chapter in Rust Book for more.

+
+
+

NOTE: If cargo-embed prints a lot of warnings here don't worry about it. As of now it does not fully +implement the GDB protocol and thus might not recognize all the commands your GDB is sending to it, +as long as it does not crash, you are fine.

+
+

Next we will have to connect to the GDB stub. It runs on localhost:1337 per default so in order to +connect to it run the following:

+
(gdb) target remote :1337
+Remote debugging using :1337
+0x00000116 in nrf52833_pac::{{impl}}::fmt (self=0xd472e165, f=0x3c195ff7) at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/nrf52833-pac-0.9.0/src/lib.rs:157
+157     #[derive(Copy, Clone, Debug)]
+
+

Next what we want to do is get to the main function of our program. +We will do this by first setting a breakpoint there and the continuing +program execution until we hit the breakpoint:

+
(gdb) break main
+Breakpoint 1 at 0x104: file src/05-led-roulette/src/main.rs, line 9.
+Note: automatically using hardware breakpoints for read-only addresses.
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9
+9       #[entry]
+
+

Breakpoints can be used to stop the normal flow of a program. The continue command will let the +program run freely until it reaches a breakpoint. In this case, until it reaches the main +function because there's a breakpoint there.

+

Note that GDB output says "Breakpoint 1". Remember that our processor can only use a limited amount of these +breakpoints, so it's a good idea to pay attention to these messages. If you happen to run out of breakpoints, +you can list all the current ones with info break and delete desired ones with delete <breakpoint-num>.

+

For a nicer debugging experience, we'll be using GDB's Text User Interface (TUI). To enter into that +mode, on the GDB shell enter the following command:

+
(gdb) layout src
+
+
+

NOTE: Apologies Windows users. The GDB shipped with the GNU ARM Embedded Toolchain doesn't +support this TUI mode :-(.

+
+

GDB session

+

GDB's break command does not only work for function names, it can also break at certain line numbers. +If we wanted to break in line 13 we can simply do:

+
(gdb) break 13
+Breakpoint 2 at 0x110: file src/05-led-roulette/src/main.rs, line 13.
+(gdb) continue
+Continuing.
+
+Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:13
+(gdb)
+
+

At any point you can leave the TUI mode using the following command:

+
(gdb) tui disable
+
+

We are now "on" the _y = x statement; that statement hasn't been executed yet. This means that x +is initialized but _y is not. Let's inspect those stack/local variables using the print command:

+
(gdb) print x
+$1 = 42
+(gdb) print &x
+$2 = (*mut i32) 0x20003fe8
+(gdb)
+
+

As expected, x contains the value 42. The command print &x prints the address of the variable x. +The interesting bit here is that GDB output shows the type of the reference: i32*, a pointer to an i32 value.

+

If we want to continue the program execution line by line we can do that using the next command +so let's proceed to the loop {} statement:

+
(gdb) next
+16          loop {}
+
+

And _y should now be initialized.

+
(gdb) print _y
+$5 = 42
+
+

Instead of printing the local variables one by one, you can also use the info locals command:

+
(gdb) info locals
+x = 42
+_y = 42
+(gdb)
+
+

If we use next again on top of the loop {} statement, we'll get stuck because the program will +never pass that statement. Instead, we'll switch to the disassemble view with the layout asm +command and advance one instruction at a time using stepi. You can always switch back into Rust +source code view later by issuing the layout src command again.

+
+

NOTE: If you used the next or continue command by mistake and GDB got stuck, you can get unstuck by hitting Ctrl+C.

+
+
(gdb) layout asm
+
+

GDB session

+

If you are not using the TUI mode, you can use the disassemble /m command to disassemble the +program around the line you are currently at.

+
(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E:
+10      fn main() -> ! {
+   0x0000010a <+0>:     sub     sp, #8
+   0x0000010c <+2>:     movs    r0, #42 ; 0x2a
+
+11          let _y;
+12          let x = 42;
+   0x0000010e <+4>:     str     r0, [sp, #0]
+
+13          _y = x;
+   0x00000110 <+6>:     str     r0, [sp, #4]
+
+14
+15          // infinite loop; just so we don't leave this stack frame
+16          loop {}
+=> 0x00000112 <+8>:     b.n     0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10>
+   0x00000114 <+10>:    b.n     0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10>
+
+End of assembler dump.
+
+

See the fat arrow => on the left side? It shows the instruction the processor will execute next.

+

If not inside the TUI mode on each stepi command GDB will print the statement and the line number +of the instruction the processor will execute next.

+
(gdb) stepi
+16          loop {}
+(gdb) stepi
+16          loop {}
+
+

One last trick before we move to something more interesting. Enter the following commands into GDB:

+
(gdb) monitor reset
+(gdb) c
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9
+9       #[entry]
+(gdb)
+
+

We are now back at the beginning of main!

+

monitor reset will reset the microcontroller and stop it right at the program entry point. +The following continue command will let the program run freely until it reaches the main +function that has a breakpoint on it.

+

This combo is handy when you, by mistake, skipped over a part of the program that you were +interested in inspecting. You can easily roll back the state of your program back to its very +beginning.

+
+

The fine print: This reset command doesn't clear or touch RAM. That memory will retain its +values from the previous run. That shouldn't be a problem though, unless your program behavior +depends on the value of uninitialized variables but that's the definition of Undefined Behavior +(UB).

+
+

We are done with this debug session. You can end it with the quit command.

+
(gdb) quit
+A debugging session is active.
+
+        Inferior 1 [Remote target] will be detached.
+
+Quit anyway? (y or n) y
+Detaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+
+

NOTE: If the default GDB CLI is not to your liking check out gdb-dashboard. It uses Python to +turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view +and other things.

+
+

If you want to learn more about what GDB can do, check out the section How to use GDB.

+

What's next? The high level API I promised.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/examples/my-solution.rs b/microbit/05-led-roulette/examples/my-solution.rs new file mode 100644 index 000000000..b75bccd04 --- /dev/null +++ b/microbit/05-led-roulette/examples/my-solution.rs @@ -0,0 +1,44 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use cortex_m_rt::entry; +use rtt_target::rtt_init_print; +use panic_rtt_target as _; +use microbit::{ + board::Board, + display::blocking::Display, + hal::Timer, +}; + +const PIXELS: [(usize, usize); 16] = [ + (0,0), (0,1), (0,2), (0,3), (0,4), (1,4), (2,4), (3,4), (4,4), + (4,3), (4,2), (4,1), (4,0), (3,0), (2,0), (1,0) +]; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + + let board = Board::take().unwrap(); + let mut timer = Timer::new(board.TIMER0); + let mut display = Display::new(board.display_pins); + let mut leds = [ + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + ]; + + let mut last_led = (0,0); + + loop { + for current_led in PIXELS.iter() { + leds[last_led.0][last_led.1] = 0; + leds[current_led.0][current_led.1] = 1; + display.show(&mut timer, leds, 30); + last_led = *current_led; + } + } +} diff --git a/microbit/05-led-roulette/flash-it.html b/microbit/05-led-roulette/flash-it.html new file mode 100644 index 000000000..f6d28c64b --- /dev/null +++ b/microbit/05-led-roulette/flash-it.html @@ -0,0 +1,269 @@ + + + + + + Flash it - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Flash it

+

Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once +flashed, the microcontroller will execute the flashed program every time it is powered on.

+

In this case, our led-roulette program will be the only program in the microcontroller memory. +By this I mean that there's nothing else running on the microcontroller: no OS, no "daemon", +nothing. led-roulette has full control over the device.

+

Flashing the binary itself is quite simple thanks to cargo embed.

+

Before executing that command though, let's look into what it actually does. If you look at the side of your micro:bit +with the USB connector facing upwards you will notice, that there are actually 2 black squares on there +(on the micro:bit v2 there is a third and biggest one, which is a speaker), one is our MCU +we already talked about but what purpose does the other one serve? The other chip has 3 main purposes:

+
    +
  1. Provide power from the USB connector to our MCU
  2. +
  3. Provide a serial to USB bridge for our MCU (we will look into that in a later chapter)
  4. +
  5. Being a programmer/debugger (this is the relevant purpose for now)
  6. +
+

Basically this chip acts as a bridge between our computer (to which it is connected via USB) and the MCU (to which it is +connected via traces and communicates with using the SWD protocol). This bridge enables us to flash new binaries on to +the MCU, inspect its state via a debugger and other things.

+

So lets flash it!

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+  (...)
+     Erasing sectors ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  4.21KiB/s (eta 0s )
+ Programming pages   ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  2.71KiB/s (eta 0s )
+    Finished flashing in 0.608s
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+  (...)
+     Erasing sectors ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  4.14KiB/s (eta 0s )
+ Programming pages   ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  2.69KiB/s (eta 0s )
+    Finished flashing in 0.614s
+
+

You will notice that cargo-embed blocks after outputting the last line, this is intended and you should not close it +since we need it in this state for the next step: debugging it! Furthermore, you will have noticed that the cargo build +and cargo embed are actually passed the same flags, this is because cargo embed actually executes the build and then +flashes the resulting binary on to the chip, hence you can leave out the cargo build step in the future if you +want to flash your code right away.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/index.html b/microbit/05-led-roulette/index.html new file mode 100644 index 000000000..f050ba2fc --- /dev/null +++ b/microbit/05-led-roulette/index.html @@ -0,0 +1,298 @@ + + + + + + LED roulette - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

LED roulette

+

Alright, let's start by building the following application:

+

+

+

I'm going to give you a high level API to implement this app but don't worry we'll do low level +stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging +process.

+

The starter code is in the src directory of the book repository. Inside that directory there are more +directories named after each chapter of this book. Most of those directories are starter Cargo +projects.

+

Now, jump into the src/05-led-roulette directory. Check the src/main.rs file:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_halt as _;
+use microbit as _;
+
+#[entry]
+fn main() -> ! {
+    let _y;
+    let x = 42;
+    _y = x;
+
+    // infinite loop; just so we don't leave this stack frame
+    loop {}
+}
+

Microcontroller programs are different from standard programs in two aspects: #![no_std] and +#![no_main].

+

The no_std attribute says that this program won't use the std crate, which assumes an underlying +OS; the program will instead use the core crate, a subset of std that can run on bare metal +systems (i.e., systems without OS abstractions like files and sockets).

+

The no_main attribute says that this program won't use the standard main interface, which is +tailored for command line applications that receive arguments. Instead of the standard main we'll +use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this +program we have named the entry point "main", but any other name could have been used. The entry +point function must have signature fn() -> !; this type indicates that the function can't return +-- this means that the program never terminates.

+

If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project +as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the +linking process to tailor the memory layout of the program to the requirements of the target device. +This modified linking process is a requirement of the cortex-m-rt crate.

+

Furthermore, there is also an Embed.toml file

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+[default.reset]
+halt_afterwards = true
+
+[default.rtt]
+enabled = false
+
+[default.gdb]
+enabled = true
+
+

This file tells cargo-embed that:

+
    +
  • we are working with either a nrf52833 or nrf51822, you will again have to remove the comments from the +chip you are using, just like you did in chapter 3.
  • +
  • we want to halt the chip after we flashed it so our program does not instantly jump to the loop
  • +
  • we want to disable RTT, RTT being a protocol that allows the chip to send text to a debugger. +You have in fact already seen RTT in action, it was the protocol that sent "Hello World" in chapter 3.
  • +
  • we want to enable GDB, this will be required for the debugging procedure
  • +
+

Alright, let's start by building this program.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/it-blinks.html b/microbit/05-led-roulette/it-blinks.html new file mode 100644 index 000000000..37408b14d --- /dev/null +++ b/microbit/05-led-roulette/it-blinks.html @@ -0,0 +1,322 @@ + + + + + + It blinks - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

It blinks

+

Delaying

+

Now we're going to take a brief look into delay abstractions provided by embedded-hal +before combining this with the GPIO abstractions from the previous chapter in order to +finally make an LED blink.

+

embedded-hal provides us with two abstractions to delay the execution of our program: +DelayUs and DelayMs. Both of them essentially work the exact same way except +that they accept different units for their delay function.

+

Inside our MCU, several so-called "timers" exist. They can do various things regarding time for us, +including simply pausing the execution of our program for a fixed amount of time. A very +simple delay-based program that prints something every second might for example look like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+use microbit::board::Board;
+use microbit::hal::timer::Timer;
+use microbit::hal::prelude::*;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+
+    let mut timer = Timer::new(board.TIMER0);
+
+    loop {
+        timer.delay_ms(1000u16);
+        rprintln!("1000 ms passed");
+    }
+}
+
+

Note that we changed our panic implementation from panic_halt to +panic_rtt_target here. This will require you to uncomment the two +RTT lines from Cargo.toml and comment the panic-halt one out, +since Rust only allows one panic implementation at a time.

+

In order to actually see the prints we have to change Embed.toml like this:

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+[default.reset]
+halt_afterwards = false
+
+[default.rtt]
+enabled = true
+
+[default.gdb]
+enabled = false
+
+

And now after putting the code into src/main.rs and another quick cargo embed (again with the same flags you used before) +you should see "1000 ms passed" being sent to your console every second from your MCU.

+

Blinking

+

Now we've arrived at the point where we can combine our new knowledge about GPIO and delay abstractions +in order to actually make an LED on the back of the micro:bit blink. The resulting program is really just +a mash-up of the one above and the one that turned an LED on in the last section and looks like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+use microbit::board::Board;
+use microbit::hal::timer::Timer;
+use microbit::hal::prelude::*;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+
+    let mut timer = Timer::new(board.TIMER0);
+
+    board.display_pins.col1.set_low().unwrap();
+    let mut row1 = board.display_pins.row1;
+
+    loop {
+        row1.set_low().unwrap();
+        rprintln!("Dark!");
+        timer.delay_ms(1_000_u16);
+        row1.set_high().unwrap();
+        rprintln!("Light!");
+        timer.delay_ms(1_000_u16);
+    }
+}
+
+

And after putting the code into src/main.rs and a final cargo embed (with the proper flags) +you should see the LED we light up before blinking as well as a print, every time the LED changes from off to on and vice versa.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/light-it-up.html b/microbit/05-led-roulette/light-it-up.html new file mode 100644 index 000000000..6c0f65c2c --- /dev/null +++ b/microbit/05-led-roulette/light-it-up.html @@ -0,0 +1,300 @@ + + + + + + Light it up - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Light it up

+

embedded-hal

+

In this chapter we are going to make one of the many LEDs on the back of the micro:bit light up since this is +basically the "Hello World" of embedded programming. In order to get this task done we will use one of the traits +provided by embedded-hal, specifically the OutputPin trait which allows us to turn a pin on or off.

+

The micro:bit LEDs

+

On the back of the micro:bit you can see a 5x5 square of LEDs, usually called an LED matrix. This matrix alignment is +used so that instead of having to use 25 separate pins to drive every single one of the LEDs, we can just use 10 (5+5) pins in +order to control which column and which row of our matrix lights up.

+
+

NOTE that the micro:bit v1 team implemented this a little differently. Their schematic page says +that it is actually implemented as a 3x9 matrix but a few columns simply remain unused.

+
+

Usually in order to determine which specific pins we have to control in +order to light a specific LED up we would now have to read the +micro:bit v2 schematic or the micro:bit v1 schematic respectively. +Luckily for us though we can use the aforementioned micro:bit BSP +which abstracts all of this nicely away from us.

+

Actually lighting it up!

+

The code required to light up an LED in the matrix is actually quite simple but it requires a bit of setup. First take +a look at it and then we can go through it step by step:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_halt as _;
+use microbit::board::Board;
+use microbit::hal::prelude::*;
+
+#[entry]
+fn main() -> ! {
+    let mut board = Board::take().unwrap();
+
+    board.display_pins.col1.set_low().unwrap();
+    board.display_pins.row1.set_high().unwrap();
+
+    loop {}
+}
+

The first few lines until the main function just do some basic imports and setup we already looked at before. +However, the main function looks pretty different to what we have seen up to now.

+

The first line is related to how most HALs written in Rust work internally. +As discussed before they are built on top of PAC crates which own (in the Rust sense) +all the peripherals of a chip. let mut board = Board::take().unwrap(); basically takes all +these peripherals from the PAC and binds them to a variable. In this specific case we are +not only working with a HAL but with an entire BSP, so this also takes ownership +of the Rust representation of the other chips on the board.

+
+

NOTE: If you are wondering why we have to call unwrap() here, in theory it is possible for take() to be called +more than once. This would lead to the peripherals being represented by two separate variables and thus lots of +possible confusing behaviour because two variables modify the same resource. In order to avoid this, PACs are +implemented in a way that it would panic if you tried to take the peripherals twice.

+
+

Now we can light the LED connected to row1, col1 up by setting the row1 pin to high (i.e. switching it on). +The reason we can leave col1 set to low is because of how the LED matrix circuit works. Furthermore, embedded-hal is +designed in a way that every operation on hardware can possibly return an error, even just toggling a pin on or off. Since +that is highly unlikely in our case, we can just unwrap() the result.

+

Testing it

+

Testing our little program is quite simple. First put it into src/main.rs. Afterwards we simply have to run the +cargo embed command from the last section again, let it flash and just like before. Then open our GDB and connect +to the GDB stub:

+
$ # Your GDB debug command from the last section
+(gdb) target remote :1337
+Remote debugging using :1337
+cortex_m_rt::Reset () at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.12/src/lib.rs:489
+489     pub unsafe extern "C" fn Reset() -> ! {
+(gdb)
+
+

If we now let the program run via the GDB continue command, one of the LEDs on the back of the micro:bit should light +up.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/memory.x b/microbit/05-led-roulette/memory.x new file mode 100644 index 000000000..9e2ab65f6 --- /dev/null +++ b/microbit/05-led-roulette/memory.x @@ -0,0 +1,6 @@ +MEMORY +{ + /* NOTE K = KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 16K +} diff --git a/microbit/05-led-roulette/my-solution.html b/microbit/05-led-roulette/my-solution.html new file mode 100644 index 000000000..4296222a0 --- /dev/null +++ b/microbit/05-led-roulette/my-solution.html @@ -0,0 +1,406 @@ + + + + + + My solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

My solution

+

What solution did you come up with?

+

Here's mine, it's probably one of the simplest (but of course not most +beautiful) way to generate the required matrix:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use microbit::{
+    board::Board,
+    display::blocking::Display,
+    hal::Timer,
+};
+
+const PIXELS: [(usize, usize); 16] = [
+    (0,0), (0,1), (0,2), (0,3), (0,4), (1,4), (2,4), (3,4), (4,4),
+    (4,3), (4,2), (4,1), (4,0), (3,0), (2,0), (1,0)
+];
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+
+    let board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+    let mut leds = [
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+    ];
+
+    let mut last_led = (0,0);
+
+    loop {
+        for current_led in PIXELS.iter() {
+            leds[last_led.0][last_led.1] = 0;
+            leds[current_led.0][current_led.1] = 1;
+            display.show(&mut timer, leds, 30);
+            last_led = *current_led;
+        }
+    }
+}
+

One more thing! Check that your solution also works when compiled in "release" mode:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf --release
+  (...)
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi --release
+  (...)
+
+

If you want to debug your "release" mode binary you'll have to use a different GDB command:

+
# For micro:bit v2
+$ gdb target/thumbv7em-none-eabihf/release/led-roulette
+
+# For micro:bit v1
+$ gdb target/thumbv6m-none-eabi/release/led-roulette
+
+

Binary size is something we should always keep an eye on! How big is your solution? You can check +that using the size command on the release binary:

+
# For micro:bit v2
+$ cargo size --features v2 --target thumbv7em-none-eabihf -- -A
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section               size        addr
+.vector_table          256         0x0
+.text                26984       0x100
+.rodata               2732      0x6a68
+.data                    0  0x20000000
+.bss                  1092  0x20000000
+.uninit                  0  0x20000444
+.debug_abbrev        33941         0x0
+.debug_info         494113         0x0
+.debug_aranges       23528         0x0
+.debug_ranges       130824         0x0
+.debug_str          498781         0x0
+.debug_pubnames     143351         0x0
+.debug_pubtypes     124464         0x0
+.ARM.attributes         58         0x0
+.debug_frame         69128         0x0
+.debug_line         290580         0x0
+.debug_loc            1449         0x0
+.comment               109         0x0
+Total              1841390
+
+
+$ cargo size --features v2 --target thumbv7em-none-eabihf --release -- -A
+    Finished release [optimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section              size        addr
+.vector_table         256         0x0
+.text                6332       0x100
+.rodata               648      0x19bc
+.data                   0  0x20000000
+.bss                 1076  0x20000000
+.uninit                 0  0x20000434
+.debug_loc           9036         0x0
+.debug_abbrev        2754         0x0
+.debug_info         96460         0x0
+.debug_aranges       1120         0x0
+.debug_ranges       11520         0x0
+.debug_str          71325         0x0
+.debug_pubnames     32316         0x0
+.debug_pubtypes     29294         0x0
+.ARM.attributes        58         0x0
+.debug_frame         2108         0x0
+.debug_line         19303         0x0
+.comment              109         0x0
+Total              283715
+
+# micro:bit v1
+$ cargo size --features v1 --target thumbv6m-none-eabi -- -A
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section               size        addr
+.vector_table          168         0x0
+.text                28584        0xa8
+.rodata               2948      0x7050
+.data                    0  0x20000000
+.bss                  1092  0x20000000
+.uninit                  0  0x20000444
+.debug_abbrev        30020         0x0
+.debug_info         373392         0x0
+.debug_aranges       18344         0x0
+.debug_ranges        89656         0x0
+.debug_str          375887         0x0
+.debug_pubnames     115633         0x0
+.debug_pubtypes      86658         0x0
+.ARM.attributes         50         0x0
+.debug_frame         54144         0x0
+.debug_line         237714         0x0
+.debug_loc            1499         0x0
+.comment               109         0x0
+Total              1415898
+
+$ cargo size --features v1 --target thumbv6m-none-eabi --release -- -A
+    Finished release [optimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section              size        addr
+.vector_table         168         0x0
+.text                4848        0xa8
+.rodata               648      0x1398
+.data                   0  0x20000000
+.bss                 1076  0x20000000
+.uninit                 0  0x20000434
+.debug_loc           9705         0x0
+.debug_abbrev        3235         0x0
+.debug_info         61908         0x0
+.debug_aranges       1208         0x0
+.debug_ranges        5784         0x0
+.debug_str          57358         0x0
+.debug_pubnames     22959         0x0
+.debug_pubtypes     18891         0x0
+.ARM.attributes        50         0x0
+.debug_frame         2316         0x0
+.debug_line         18444         0x0
+.comment               19         0x0
+Total              208617
+
+
+
+

NOTE The Cargo project is already configured to build the release binary using LTO.

+
+

Know how to read this output? The text section contains the program instructions. On the other hand, +the data and bss sections contain variables statically allocated in RAM (static variables). +If you remember back in the specification of the microcontroller on your micro:bit, you should +notice that its flash memory is actually far too small to contain this binary, so how is this possible? +As we can see from the size statistics most of the binary is actually made up of debugging related +sections, those are however not flashed to the microcontroller at any time, after all they aren't +relevant for the execution.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/05-led-roulette/src/main.rs b/microbit/05-led-roulette/src/main.rs new file mode 100644 index 000000000..bb8c08ca6 --- /dev/null +++ b/microbit/05-led-roulette/src/main.rs @@ -0,0 +1,17 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use cortex_m_rt::entry; +use panic_halt as _; +use microbit as _; + +#[entry] +fn main() -> ! { + let _y; + let x = 42; + _y = x; + + // infinite loop; just so we don't leave this stack frame + loop {} +} diff --git a/microbit/05-led-roulette/the-challenge.html b/microbit/05-led-roulette/the-challenge.html new file mode 100644 index 000000000..8fc25b3e6 --- /dev/null +++ b/microbit/05-led-roulette/the-challenge.html @@ -0,0 +1,281 @@ + + + + + + The challenge - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The challenge

+

You are now well armed to face a challenge! Your task will be to implement the application I showed +you at the beginning of this chapter.

+

+

+

If you can't exactly see what's happening here it is in a much slower version:

+

+

+

Since working with the LED pins separately is quite annoying +(especially if you have to use basically all of them like here) +you can use the display API provided by the BSP. It works like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use microbit::{
+    board::Board,
+    display::blocking::Display,
+    hal::{prelude::*, Timer},
+};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+
+    let board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+    let light_it_all = [
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+    ];
+
+    loop {
+        // Show light_it_all for 1000ms
+        display.show(&mut timer, light_it_all, 1000);
+        // clear the display again
+        display.clear();
+        timer.delay_ms(1000_u32);
+    }
+}
+

Equipped with this API your task basically boils down to just having +to calculate the proper image matrix and passing it into the BSP.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/06-serial-communication/index.html b/microbit/06-serial-communication/index.html new file mode 100644 index 000000000..f38dc1d05 --- /dev/null +++ b/microbit/06-serial-communication/index.html @@ -0,0 +1,274 @@ + + + + + + Serial communication - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Serial communication

+ +

+ +

+
+

+This is what we'll be using. I hope your computer has one! +

+

Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got +replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but +with the communication protocol that this cable is/was usually used for.

+

So what's this serial communication? It's an asynchronous communication protocol where two +devices exchange data serially, as in one bit at a time, using two data lines (plus a common +ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock +signal. Instead, both parties must agree on how fast data will be sent along the wire before the +communication occurs. This protocol allows duplex communication as data can be sent from A to B +and from B to A simultaneously.

+

We'll be using this protocol to exchange data between the microcontroller and your computer. Now you might +be asking yourself why exactly we aren't using RTT for this like we did before. RTT is a protocol that is meant +to be used solely for debugging. You will most definitely not be able to find a device that actually uses RTT +to communicate with some other device in production. However, serial communication is used quite often. For +example some GPS receivers send the positioning information they receive via serial communication.

+

The next practical question you probably want to ask is: How fast can we send data through this +protocol?

+

This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 +to 2 stop bits. The speed of the protocol is known as baud rate and it's quoted in bits per +second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps.

+

To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 +stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each +one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data +rate will probably be lower because of processing times on the slower side of the communication (the +microcontroller).

+

Today's computers don't support the serial communication protocol. So you can't directly connect +your computer to the microcontroller. Luckily for us though, the debug probe on the micro:bit has a so-called +USB-to-serial converter. This means that the converter will sit between the two and expose a serial interface to +the microcontroller and a USB interface to your computer. The microcontroller will see your computer as +another serial device and your computer will see the microcontroller as a virtual serial device.

+

Now, let's get familiar with the serial module and the serial communication tools that your OS +offers. Pick a route:

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/06-serial-communication/nix-tooling.html b/microbit/06-serial-communication/nix-tooling.html new file mode 100644 index 000000000..8156512a9 --- /dev/null +++ b/microbit/06-serial-communication/nix-tooling.html @@ -0,0 +1,301 @@ + + + + + + *nix tooling - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

*nix tooling

+

Connecting the micro:bit board

+

If you connect the micro:bit board to your computer you +should see a new TTY device appear in /dev.

+
$ # Linux
+$ dmesg | tail | grep -i tty
+[63712.446286] cdc_acm 1-1.7:1.1: ttyACM0: USB ACM device
+
+

This is the USB <-> Serial device. On Linux, it's named tty* (usually +ttyACM* or ttyUSB*). +On Mac OS ls /dev/cu.usbmodem* will show the serial device.

+

But what exactly is ttyACM0? It's a file of course! +Everything is a file in *nix:

+
$ ls -l /dev/ttyACM0
+crw-rw----. 1 root plugdev 166, 0 Jan 21 11:56 /dev/ttyACM0
+
+

You can send out data by simply writing to this file:

+
$ echo 'Hello, world!' > /dev/ttyACM0
+
+

You should see the orange LED on the micro:bit, right next to the USB port, blink for a moment, +whenever you enter this command.

+

minicom

+

We'll use the program minicom to interact with the serial device using the keyboard.

+

We must configure minicom before we use it. There are quite a few ways to do that but we'll use a +.minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following +contents:

+
$ cat ~/.minirc.dfl
+pu baudrate 115200
+pu bits 8
+pu parity N
+pu stopbits 1
+pu rtscts No
+pu xonxoff No
+
+
+

NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it.

+
+

That file should be straightforward to read (except for the last two lines), but nonetheless let's +go over it line by line:

+
    +
  • pu baudrate 115200. Sets baud rate to 115200 bps.
  • +
  • pu bits 8. 8 bits per frame.
  • +
  • pu parity N. No parity check.
  • +
  • pu stopbits 1. 1 stop bit.
  • +
  • pu rtscts No. No hardware control flow.
  • +
  • pu xonxoff No. No software control flow.
  • +
+

Once that's in place, we can launch minicom.

+
$ # NOTE you may need to use a different device here
+$ minicom -D /dev/ttyACM0 -b 115200
+
+

This tells minicom to open the serial device at /dev/ttyACM0 and set its +baud rate to 115200. A text-based user interface (TUI) will pop out.

+

+ +

+

You can now send data using the keyboard! Go ahead and type something. Note that +the text UI will not echo back what you type. If you pay attention to the yellow LED +on top of the micro:bit though, you will notice that it blinks whenever you type something.

+

minicom commands

+

minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On +Mac, the shortcuts start with the Meta key. Some useful commands below:

+
    +
  • Ctrl+A + Z. Minicom Command Summary
  • +
  • Ctrl+A + C. Clear the screen
  • +
  • Ctrl+A + X. Exit and reset
  • +
  • Ctrl+A + Q. Quit with no reset
  • +
+
+

NOTE Mac users: In the above commands, replace Ctrl+A with Meta.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/06-serial-communication/windows-tooling.html b/microbit/06-serial-communication/windows-tooling.html new file mode 100644 index 000000000..8aecc7489 --- /dev/null +++ b/microbit/06-serial-communication/windows-tooling.html @@ -0,0 +1,264 @@ + + + + + + Windows tooling - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Windows tooling

+

Start by unplugging your micro:bit.

+

Before plugging the micro:bit, run the following command on the terminal:

+
$ mode
+
+

It will print a list of devices that are connected to your computer. The ones that start with COM in +their names are serial devices. This is the kind of device we'll be working with. Take note of all +the COM ports mode outputs before plugging the serial module.

+

Now, plug in the micro:bit and run the mode command again. If you see a new +COM port appear on the list, then that's the COM port assigned to the +serial functionality on the micro:bit.

+

Now launch putty. A GUI will pop out.

+

+ +

+

On the starter screen, which should have the "Session" category open, pick "Serial" as the +"Connection type". On the "Serial line" field enter the COM device you got on the previous step, +for example COM3.

+

Next, pick the "Connection/Serial" category from the menu on the left. On this new view, make sure +that the serial port is configured as follows:

+
    +
  • "Speed (baud)": 115200
  • +
  • "Data bits": 8
  • +
  • "Stop bits": 1
  • +
  • "Parity": None
  • +
  • "Flow control": None
  • +
+

Finally, click the Open button. A console will show up now:

+

+ +

+

If you type on this console, the yellow LED on top of the micro:bit will blink. Each keystroke +should make the LED blink once. Note that the console won't echo back what you type so the screen +will remain blank.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/.cargo/config.toml b/microbit/07-uart/.cargo/config.toml new file mode 100644 index 000000000..6260c5718 --- /dev/null +++ b/microbit/07-uart/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +rustflags = [ + "-C", "link-arg=-Tlink.x", +] diff --git a/microbit/07-uart/Cargo.toml b/microbit/07-uart/Cargo.toml new file mode 100644 index 000000000..96c46b3e9 --- /dev/null +++ b/microbit/07-uart/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "uart" +version = "0.1.0" +authors = ["Henrik Böving "] +edition = "2018" + +[dependencies.microbit-v2] +version = "0.12.0" +optional = true + +[dependencies.microbit] +version = "0.12.0" +optional = true + +[dependencies] +cortex-m = "0.7.3" +cortex-m-rt = "0.7.0" +rtt-target = { version = "0.3.1", features = ["cortex-m"] } +panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } +nb = "1.0.0" +heapless = "0.7.10" +embedded-hal = "0.2.6" + +[features] +v2 = ["microbit-v2"] +v1 = ["microbit"] diff --git a/microbit/07-uart/Embed.toml b/microbit/07-uart/Embed.toml new file mode 100644 index 000000000..f5117ac42 --- /dev/null +++ b/microbit/07-uart/Embed.toml @@ -0,0 +1,12 @@ +[default.general] +# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2 +# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1 + +[default.reset] +halt_afterwards = false + +[default.rtt] +enabled = true + +[default.gdb] +enabled = false diff --git a/microbit/07-uart/build.rs b/microbit/07-uart/build.rs new file mode 100644 index 000000000..c8d8c9141 --- /dev/null +++ b/microbit/07-uart/build.rs @@ -0,0 +1,30 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory (wherever `Cargo.toml` is). However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! a rebuild of the application with new memory settings is ensured after updating `memory.x`. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); +} diff --git a/microbit/07-uart/echo-server.html b/microbit/07-uart/echo-server.html new file mode 100644 index 000000000..85772e826 --- /dev/null +++ b/microbit/07-uart/echo-server.html @@ -0,0 +1,235 @@ + + + + + + Echo server - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Echo server

+

Let's merge transmission and reception into a single program and write an echo server. An echo +server sends back to the client the same text it receives. For this application, the microcontroller +will be the server and you and your computer will be the client.

+

This should be straightforward to implement. (hint: do it byte by byte)

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/index.html b/microbit/07-uart/index.html new file mode 100644 index 000000000..b6501a633 --- /dev/null +++ b/microbit/07-uart/index.html @@ -0,0 +1,256 @@ + + + + + + UART - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

UART

+

The microcontroller has a peripheral called UART, which stands for Universal +Asynchronous Receiver/Transmitter. This peripheral can be configured to work with +several communication protocols like the serial communication protocol.

+

Throughout this chapter, we'll use serial communication to exchange information between the +microcontroller and your computer.

+
+

NOTE that on the micro:bit v2 we will use the so called UARTE peripheral which behaves +just like a regular UART, except that the HAL has to talk to it differently. +However, this will of course not be our concern.

+
+

Setup

+

As always from now on you will have to modify the Embed.toml to match your micro:bit version:

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+[default.reset]
+halt_afterwards = false
+
+[default.rtt]
+enabled = true
+
+[default.gdb]
+enabled = false
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/memory.x b/microbit/07-uart/memory.x new file mode 100644 index 000000000..9e2ab65f6 --- /dev/null +++ b/microbit/07-uart/memory.x @@ -0,0 +1,6 @@ +MEMORY +{ + /* NOTE K = KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 16K +} diff --git a/microbit/07-uart/my-solution.html b/microbit/07-uart/my-solution.html new file mode 100644 index 000000000..178d945f7 --- /dev/null +++ b/microbit/07-uart/my-solution.html @@ -0,0 +1,310 @@ + + + + + + My solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

My solution

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use core::fmt::Write;
+use heapless::Vec;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        loop {
+            // We assume that the receiving cannot fail
+            let byte = nb::block!(serial.read()).unwrap();
+
+            if buffer.push(byte).is_err() {
+                write!(serial, "error: buffer full\r\n").unwrap();
+                break;
+            }
+
+            if byte == 13 {
+                for byte in buffer.iter().rev().chain(&[b'\n', b'\r']) {
+                    nb::block!(serial.write(*byte)).unwrap();
+                }
+                break;
+            }
+        }
+        nb::block!(serial.flush()).unwrap()
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/naive-approch-write.html b/microbit/07-uart/naive-approch-write.html new file mode 100644 index 000000000..157b2db16 --- /dev/null +++ b/microbit/07-uart/naive-approch-write.html @@ -0,0 +1,363 @@ + + + + + + Naive approach and write! - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Naive approach and write!

+

Naive approach

+

You probably came up with a program similar to the following:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    for byte in b"The quick brown fox jumps over the lazy dog.\r\n".iter() {
+        nb::block!(serial.write(*byte)).unwrap();
+    }
+    nb::block!(serial.flush()).unwrap();
+
+    loop {}
+}
+
+

While this is a perfectly valid implementation, at some point +you might want to have all the nice perks of print! such +as argument formatting and so on. If you are wondering how to do that, read on.

+

write! and core::fmt::Write

+

The core::fmt::Write trait allows us to use any struct that implements +it in basically the same way as we use print! in the std world. +In this case, the Uart struct from the nrf HAL does implement core::fmt::Write +so we can refactor our previous program into this:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use core::fmt::Write;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    write!(serial, "The quick brown fox jumps over the lazy dog.\r\n").unwrap();
+    nb::block!(serial.flush()).unwrap();
+
+    loop {}
+}
+
+

If you were to flash this program onto your micro:bit, you'll +see that it is functionally equivalent to the iterator-based +program you came up with.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/receive-a-single-byte.html b/microbit/07-uart/receive-a-single-byte.html new file mode 100644 index 000000000..a9ab6344d --- /dev/null +++ b/microbit/07-uart/receive-a-single-byte.html @@ -0,0 +1,299 @@ + + + + + + Receive a single byte - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Receive a single byte

+

So far we can send data from the microcontroller to your computer. It's time to try the opposite: receiving +data from your computer. Luckily embedded-hal has again got us covered with this one:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    loop {
+        let byte = nb::block!(serial.read()).unwrap();
+        rprintln!("{}", byte);
+    }
+}
+

The only part that changed, compared to our send byte program, is the loop +at the end of main(). Here we use the read() function, provided by embedded-hal, +in order to wait until a byte is available and read it. Then we print that byte +into our RTT debugging console to see whether stuff is actually arriving.

+

Note that if you flash this program and start typing characters inside minicom to +send them to your microcontroller you'll only be able to see numbers inside your +RTT console since we are not converting the u8 we received into an actual char. +Since the conversion from u8 to char is quite simple, I'll leave this task to +you if you really do want to see the characters inside the RTT console.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/reverse-a-string.html b/microbit/07-uart/reverse-a-string.html new file mode 100644 index 000000000..1095da6f0 --- /dev/null +++ b/microbit/07-uart/reverse-a-string.html @@ -0,0 +1,302 @@ + + + + + + Reverse a string - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Reverse a string

+

Alright, next let's make the server more interesting by having it respond to the client with the +reverse of the text that they sent. The server will respond to the client every time they press the +ENTER key. Each server response will be in a new line.

+

This time you'll need a buffer; you can use heapless::Vec. Here's the starter code:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use core::fmt::Write;
+use heapless::Vec;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        // TODO Receive a user request. Each user request ends with ENTER
+        // NOTE `buffer.push` returns a `Result`. Handle the error by responding
+        // with an error message.
+
+        // TODO Send back the reversed string
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/send-a-single-byte.html b/microbit/07-uart/send-a-single-byte.html new file mode 100644 index 000000000..ea21b8bf0 --- /dev/null +++ b/microbit/07-uart/send-a-single-byte.html @@ -0,0 +1,333 @@ + + + + + + Send a single byte - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Send a single byte

+

Our first task will be to send a single byte from the microcontroller to the computer over the serial +connection.

+

In order to do that we will use the following snippet (this one is already in 07-uart/src/main.rs):

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    nb::block!(serial.write(b'X')).unwrap();
+    nb::block!(serial.flush()).unwrap();
+
+    loop {}
+}
+

The most prevalent new thing here is obviously the cfg directives to conditionally include/exclude +parts of the code. This is mostly just because we want to work with a regular UART for the micro:bit v1 +and with the UARTE for micro:bit v2.

+

You will also have noticed that this is the first time we are including some code that is not from a library, +namely the serial_setup module. Its only purpose is to provide a nice wrapper around the UARTE +so we can use it the exact same way as the UART via the embedded_hal::serial traits. If you want, you can +check out what exactly the module does, but it is not required to understand this chapter in general.

+

Apart from those differences, the initialization procedures for the UART and the UARTE are quite similar so we'll +discuss the initialization of just UARTE. The UARTE is initialized with this piece of code:

+
uarte::Uarte::new(
+    board.UARTE0,
+    board.uart.into(),
+    Parity::EXCLUDED,
+    Baudrate::BAUD115200,
+);
+
+

This function takes ownership of the UARTE peripheral representation in Rust (board.UARTE0) and the TX/RX pins +on the board (board.uart.into()) so nobody else can mess with either the UARTE peripheral or our pins while +we are using them. After that we pass two configuration options to the constructor: the baudrate (that one should be +familiar) as well as an option called "parity". Parity is a way to allow serial communication lines to check whether +the data they received was corrupted during transmission. We don't want to use that here so we simply exclude it. +Then we wrap it up in the UartePort type so we can use it the same way as the micro:bit v1's serial.

+

After the initialization, we send our X via the newly created uart instance. The block! macro here is the nb::block! +macro. nb is a (quoting from its description) "Minimal and reusable non-blocking I/O layer". It allows us to write +code that can conduct hardware operations in the background while we go and do other work (non-blocking). However, +in this and many other cases we have no interest in doing some other work so we just call block! which will wait until +the I/O operation is done and has either succeeded or failed and then continue execution normally.

+

Last but not least, we flush() the serial port. This is because an implementor of the embedded-hal::serial traits may +decide to buffer output until it has received a certain number of bytes to send (this is the case with the UARTE implementation). +Calling flush() forces it to write the bytes it currently has right now instead of waiting for more.

+

Testing it

+

Before flashing this you should make sure to start your minicom/PuTTY as the data we receive via our serial +communication is not backed up or anything, we have to view it live. Once your serial monitor is up you can +flash the program just like in chapter 5:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+  (...)
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+
+

And after the flashing is finished, you should see the character X show up on your minicom/PuTTY terminal, congrats!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/send-a-string.html b/microbit/07-uart/send-a-string.html new file mode 100644 index 000000000..ddf9a5ec2 --- /dev/null +++ b/microbit/07-uart/send-a-string.html @@ -0,0 +1,235 @@ + + + + + + Send a string - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Send a string

+

The next task will be to send a whole string from the microcontroller to your computer.

+

I want you to send the string "The quick brown fox jumps over the lazy dog." from the microcontroller to +your computer.

+

It's your turn to write the program.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/07-uart/src/main.rs b/microbit/07-uart/src/main.rs new file mode 100644 index 000000000..0434ff883 --- /dev/null +++ b/microbit/07-uart/src/main.rs @@ -0,0 +1,57 @@ +#![no_main] +#![no_std] + +use cortex_m_rt::entry; +use rtt_target::rtt_init_print; +use panic_rtt_target as _; + +#[cfg(feature = "v1")] +use microbit::{ + hal::prelude::*, + hal::uart, + hal::uart::{Baudrate, Parity}, +}; + +#[cfg(feature = "v2")] +use microbit::{ + hal::prelude::*, + hal::uarte, + hal::uarte::{Baudrate, Parity}, +}; + +#[cfg(feature = "v2")] +mod serial_setup; +#[cfg(feature = "v2")] +use serial_setup::UartePort; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + let board = microbit::Board::take().unwrap(); + + #[cfg(feature = "v1")] + let mut serial = { + uart::Uart::new( + board.UART0, + board.uart.into(), + Parity::EXCLUDED, + Baudrate::BAUD115200, + ) + }; + + #[cfg(feature = "v2")] + let mut serial = { + let serial = uarte::Uarte::new( + board.UARTE0, + board.uart.into(), + Parity::EXCLUDED, + Baudrate::BAUD115200, + ); + UartePort::new(serial) + }; + + nb::block!(serial.write(b'X')).unwrap(); + nb::block!(serial.flush()).unwrap(); + + loop {} +} diff --git a/microbit/07-uart/src/serial_setup.rs b/microbit/07-uart/src/serial_setup.rs new file mode 100644 index 000000000..eb3997aed --- /dev/null +++ b/microbit/07-uart/src/serial_setup.rs @@ -0,0 +1,46 @@ +use core::fmt; +use embedded_hal::blocking::serial as bserial; +use embedded_hal::serial; +use microbit::hal::uarte::{Error, Instance, Uarte, UarteRx, UarteTx}; + +static mut TX_BUF: [u8; 1] = [0; 1]; +static mut RX_BUF: [u8; 1] = [0; 1]; + +pub struct UartePort(UarteTx, UarteRx); + +impl UartePort { + pub fn new(serial: Uarte) -> UartePort { + let (tx, rx) = serial + .split(unsafe { &mut TX_BUF }, unsafe { &mut RX_BUF }) + .unwrap(); + UartePort(tx, rx) + } +} + +impl fmt::Write for UartePort { + fn write_str(&mut self, s: &str) -> fmt::Result { + self.0.write_str(s) + } +} + +impl serial::Write for UartePort { + type Error = Error; + + fn write(&mut self, b: u8) -> nb::Result<(), Self::Error> { + self.0.write(b) + } + + fn flush(&mut self) -> nb::Result<(), Self::Error> { + self.0.flush() + } +} + +impl bserial::write::Default for UartePort {} + +impl serial::Read for UartePort { + type Error = Error; + + fn read(&mut self) -> nb::Result { + self.1.read() + } +} diff --git a/microbit/08-i2c/.cargo/config.toml b/microbit/08-i2c/.cargo/config.toml new file mode 100644 index 000000000..6260c5718 --- /dev/null +++ b/microbit/08-i2c/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +rustflags = [ + "-C", "link-arg=-Tlink.x", +] diff --git a/microbit/08-i2c/Cargo.toml b/microbit/08-i2c/Cargo.toml new file mode 100644 index 000000000..1e20ac596 --- /dev/null +++ b/microbit/08-i2c/Cargo.toml @@ -0,0 +1,27 @@ +[package] +authors = ["Henrik Böving "] +edition = "2018" +name = "i2c" +version = "0.1.0" + +[dependencies.microbit-v2] +version = "0.12.0" +optional = true + +[dependencies.microbit] +version = "0.12.0" +optional = true + +[dependencies] +cortex-m = "0.7.3" +cortex-m-rt = "0.7.0" +rtt-target = { version = "0.3.1", features = ["cortex-m"] } +panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } +nb = "1.0.0" +heapless = "0.7.10" +lsm303agr = "0.2.2" +embedded-hal = "0.2.6" + +[features] +v2 = ["microbit-v2"] +v1 = ["microbit"] diff --git a/microbit/08-i2c/Embed.toml b/microbit/08-i2c/Embed.toml new file mode 100644 index 000000000..f5117ac42 --- /dev/null +++ b/microbit/08-i2c/Embed.toml @@ -0,0 +1,12 @@ +[default.general] +# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2 +# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1 + +[default.reset] +halt_afterwards = false + +[default.rtt] +enabled = true + +[default.gdb] +enabled = false diff --git a/microbit/08-i2c/build.rs b/microbit/08-i2c/build.rs new file mode 100644 index 000000000..c8d8c9141 --- /dev/null +++ b/microbit/08-i2c/build.rs @@ -0,0 +1,30 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory (wherever `Cargo.toml` is). However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! a rebuild of the application with new memory settings is ensured after updating `memory.x`. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); +} diff --git a/microbit/08-i2c/index.html b/microbit/08-i2c/index.html new file mode 100644 index 000000000..081434e05 --- /dev/null +++ b/microbit/08-i2c/index.html @@ -0,0 +1,254 @@ + + + + + + I2C - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

I2C

+

We just saw the serial communication protocol. It's a widely used protocol because it's very +simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and +USB.

+

However, its simplicity is also a downside. More elaborated data exchanges, like reading a digital +sensor, would require the sensor vendor to come up with another protocol on top of it.

+

(Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some +of them are widely used in digital sensors.

+

The micro:bit board we are using has two motion sensors in it: an accelerometer and a magnetometer. +Both of these sensors are packaged into a single component and can be accessed via an I2C bus.

+

I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It +uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is +used to synchronize the communication, this is a synchronous protocol.

+

+ +

+

This protocol uses a controller target model where the controller is the device that starts and +drives the communication with a target device. Several devices, both controllers and targets, can be +connected to the same bus at the same time. A controller device can communicate with a specific target +device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. +Once a controller has started a communication with a target, no other device can make use of the bus +until the controller stops the communication.

+

The clock line determines how fast data can be exchanged and it usually operates at a frequency of +100 kHz (standard mode) or 400 kHz (fast mode).

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/08-i2c/lsm303agr.html b/microbit/08-i2c/lsm303agr.html new file mode 100644 index 000000000..ad6657288 --- /dev/null +++ b/microbit/08-i2c/lsm303agr.html @@ -0,0 +1,251 @@ + + + + + + LSM303AGR - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

LSM303AGR

+

Both of the motion sensors on the micro:bit, the magnetometer and the accelerometer, are packaged in a single +component: the LSM303AGR integrated circuit. These two sensors can be accessed via an I2C bus. Each +sensor behaves like an I2C target and has a different address.

+

Each sensor has its own memory where it stores the results of sensing its environment. Our +interaction with these sensors will mainly involve reading their memory.

+

The memory of these sensors is modeled as byte addressable registers. These sensors can be +configured too; that's done by writing to their registers. So, in a sense, these sensors are very +similar to the peripherals inside the microcontroller. The difference is that their registers are +not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the +I2C bus.

+

The main source of information about the LSM303AGR is its Data Sheet. Read through it to see how +one can read the sensors' registers. That part is in:

+
+

Section 6.1.1 I2C Operation - Page 38 - LSM303AGR Data Sheet

+
+

The other part of the documentation relevant to this book is the description of the registers. That +part is in:

+
+

Section 8 Register description - Page 46 - LSM303AGR Data Sheet

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/08-i2c/memory.x b/microbit/08-i2c/memory.x new file mode 100644 index 000000000..9e2ab65f6 --- /dev/null +++ b/microbit/08-i2c/memory.x @@ -0,0 +1,6 @@ +MEMORY +{ + /* NOTE K = KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 16K +} diff --git a/microbit/08-i2c/my-solution.html b/microbit/08-i2c/my-solution.html new file mode 100644 index 000000000..f6a059797 --- /dev/null +++ b/microbit/08-i2c/my-solution.html @@ -0,0 +1,339 @@ + + + + + + My solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

My solution

+
#![no_main]
+#![no_std]
+
+use core::str;
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+use microbit::hal::prelude::*;
+use lsm303agr::{AccelOutputDataRate, MagOutputDataRate, Lsm303agr};
+use heapless::Vec;
+use nb::block;
+use core::fmt::Write;
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz50).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    loop {
+        let mut buffer: Vec<u8, 32> = Vec::new();
+
+        loop {
+            let byte = block!(serial.read()).unwrap();
+
+            if byte == 13 {
+                break;
+            }
+
+            if buffer.push(byte).is_err() {
+                write!(serial, "error: buffer full\r\n").unwrap();
+                break;
+            }
+        }
+
+        if str::from_utf8(&buffer).unwrap().trim() == "accelerometer" {
+            while !sensor.accel_status().unwrap().xyz_new_data  {
+            }
+
+            let data = sensor.accel_data().unwrap();
+            write!(serial, "Accelerometer: x {} y {} z {}\r\n", data.x, data.y, data.z).unwrap();
+        } else if str::from_utf8(&buffer).unwrap().trim() == "magnetometer" {
+            while !sensor.mag_status().unwrap().xyz_new_data  {
+            }
+
+            let data = sensor.mag_data().unwrap();
+            write!(serial, "Magnetometer: x {} y {} z {}\r\n", data.x, data.y, data.z).unwrap();
+        } else {
+            write!(serial, "error: command not detected\r\n").unwrap();
+        }
+    }
+}
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/08-i2c/read-a-single-register.html b/microbit/08-i2c/read-a-single-register.html new file mode 100644 index 000000000..df2b507b3 --- /dev/null +++ b/microbit/08-i2c/read-a-single-register.html @@ -0,0 +1,328 @@ + + + + + + Read a single register - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Read a single register

+

Let's put all that theory into practice!

+

First things first we need to know the target addresses of both the accelerometer +and the magnetometer inside the chip, these can be found in the LSM303AGR's +datasheet on page 39 and are:

+
    +
  • 0011001 for the accelerometer
  • +
  • 0011110 for the magnetometer
  • +
+
+

NOTE Remember that these are only the 7 leading bits of the address, +the 8th bit is going to be the bit that determines whether we are +performing a read or write.

+
+

Next up we'll need a register to read from. Lots of I2C chips out there will +provide some sort of device identification register for their controllers to read. +This is done since considering the thousands (or even millions) of I2C chips +out there it is highly likely that at some point two chips with the same address +will end up being built (after all the address is "only" 7 bit wide). With +this device ID register a driver could then make sure that it is indeed talking +to a LSM303AGR and not some other chip that just happens to have the same address. +As you can read in the LSM303AGR's datasheet (specifically on page 46 and 61) +it does provide two registers called WHO_AM_I_A at address 0x0f and WHO_AM_I_M +at address 0x4f which contain some bit patterns that are unique to the device +(The A is as in accelerometer and the M is as in magnetometer).

+

The only thing missing now is the software part, i.e. which API of the microbit/the HAL +crates we should use for this. However, if you read through the datasheet of the nRF chip +you are using you will soon find out that they don't actually have an I2C peripheral. +Luckily for us though, they have I2C-compatible ones called TWI (Two Wire Interface) +and TWIM (depending on which chip you use, just like UART and UARTE).

+

Now if we put the documentation of the twi(m) module from the microbit crate +together with all the other information we have gathered so far we'll end up with this +piece of code to read out and print the two device IDs:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+use microbit::hal::prelude::*;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+};
+
+const ACCELEROMETER_ADDR: u8 = 0b0011001;
+const MAGNETOMETER_ADDR: u8 = 0b0011110;
+
+const ACCELEROMETER_ID_REG: u8 = 0x0f;
+const MAGNETOMETER_ID_REG: u8 = 0x4f;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+
+    #[cfg(feature = "v1")]
+    let mut i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let mut i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut acc = [0];
+    let mut mag = [0];
+
+    // First write the address + register onto the bus, then read the chip's responses
+    i2c.write_read(ACCELEROMETER_ADDR, &[ACCELEROMETER_ID_REG], &mut acc).unwrap();
+    i2c.write_read(MAGNETOMETER_ADDR, &[MAGNETOMETER_ID_REG], &mut mag).unwrap();
+
+    rprintln!("The accelerometer chip's id is: {:#b}", acc[0]);
+    rprintln!("The magnetometer chip's id is: {:#b}", mag[0]);
+
+    loop {}
+}
+

Apart from the initialization, this piece of code should be straight forward if you +understood the I2C protocol as described before. The initialization here works similarly +to the one from the UART chapter. +We pass the peripheral as well as the pins that are used to communicate with the chip to the constructor; and then the frequency we wish the bus to operate on, in this case 100 kHz (K100).

+

Testing it

+

As always you have to modify Embed.toml to fit your MCU and can then use:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+
+

in order to test our little example program.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/08-i2c/src/main.rs b/microbit/08-i2c/src/main.rs new file mode 100644 index 000000000..1ad7c8aca --- /dev/null +++ b/microbit/08-i2c/src/main.rs @@ -0,0 +1,52 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use cortex_m_rt::entry; +use rtt_target::{rtt_init_print, rprintln}; +use panic_rtt_target as _; + +use microbit::hal::prelude::*; + +#[cfg(feature = "v1")] +use microbit::{ + hal::twi, + pac::twi0::frequency::FREQUENCY_A, +}; + +#[cfg(feature = "v2")] +use microbit::{ + hal::twim, + pac::twim0::frequency::FREQUENCY_A, +}; + +const ACCELEROMETER_ADDR: u8 = 0b0011001; +const MAGNETOMETER_ADDR: u8 = 0b0011110; + +const ACCELEROMETER_ID_REG: u8 = 0x0f; +const MAGNETOMETER_ID_REG: u8 = 0x4f; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + let board = microbit::Board::take().unwrap(); + + + #[cfg(feature = "v1")] + let mut i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; + + #[cfg(feature = "v2")] + let mut i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; + + let mut acc = [0]; + let mut mag = [0]; + + // First write the address + register onto the bus, then read the chip's responses + i2c.write_read(ACCELEROMETER_ADDR, &[ACCELEROMETER_ID_REG], &mut acc).unwrap(); + i2c.write_read(MAGNETOMETER_ADDR, &[MAGNETOMETER_ID_REG], &mut mag).unwrap(); + + rprintln!("The accelerometer chip's id is: {:#b}", acc[0]); + rprintln!("The magnetometer chip's id is: {:#b}", mag[0]); + + loop {} +} diff --git a/microbit/08-i2c/src/serial_setup.rs b/microbit/08-i2c/src/serial_setup.rs new file mode 100644 index 000000000..eb3997aed --- /dev/null +++ b/microbit/08-i2c/src/serial_setup.rs @@ -0,0 +1,46 @@ +use core::fmt; +use embedded_hal::blocking::serial as bserial; +use embedded_hal::serial; +use microbit::hal::uarte::{Error, Instance, Uarte, UarteRx, UarteTx}; + +static mut TX_BUF: [u8; 1] = [0; 1]; +static mut RX_BUF: [u8; 1] = [0; 1]; + +pub struct UartePort(UarteTx, UarteRx); + +impl UartePort { + pub fn new(serial: Uarte) -> UartePort { + let (tx, rx) = serial + .split(unsafe { &mut TX_BUF }, unsafe { &mut RX_BUF }) + .unwrap(); + UartePort(tx, rx) + } +} + +impl fmt::Write for UartePort { + fn write_str(&mut self, s: &str) -> fmt::Result { + self.0.write_str(s) + } +} + +impl serial::Write for UartePort { + type Error = Error; + + fn write(&mut self, b: u8) -> nb::Result<(), Self::Error> { + self.0.write(b) + } + + fn flush(&mut self) -> nb::Result<(), Self::Error> { + self.0.flush() + } +} + +impl bserial::write::Default for UartePort {} + +impl serial::Read for UartePort { + type Error = Error; + + fn read(&mut self) -> nb::Result { + self.1.read() + } +} diff --git a/microbit/08-i2c/the-challenge.html b/microbit/08-i2c/the-challenge.html new file mode 100644 index 000000000..966726512 --- /dev/null +++ b/microbit/08-i2c/the-challenge.html @@ -0,0 +1,242 @@ + + + + + + The challenge - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The challenge

+

The challenge for this chapter is, to build a small application that +communicates with the outside world via the serial interface introduced +in the last chapter. It should be able to receive the commands "magnetometer" +as well as "accelerometer" and then print the corresponding sensor data +in response. This time no template code will be provided since all you need +is already provided in the UART and this chapter. However, here are a few clues:

+
    +
  • You might be interested in core::str::from_utf8 to convert the bytes in the buffer to a &str, since we need to compare with "magnetometer" and "accelerometer".
  • +
  • You will (obviously) have to read the documentation of the magnetometer API, however +it's more or less equivalent to the accelerometer one
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/08-i2c/the-general-protocol.html b/microbit/08-i2c/the-general-protocol.html new file mode 100644 index 000000000..82ddae5ea --- /dev/null +++ b/microbit/08-i2c/the-general-protocol.html @@ -0,0 +1,269 @@ + + + + + + The general protocol - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

General protocol

+

The I2C protocol is more elaborate than the serial communication protocol because it has to support +communication between several devices. Let's see how it works using examples:

+

Controller -> Target

+

If the Controller wants to send data to the Target:

+

+ +

+
    +
  1. Controller: Broadcast START
  2. +
  3. C: Broadcast target address (7 bits) + the R/W (8th) bit set to WRITE
  4. +
  5. Target: Responds ACK (ACKnowledgement)
  6. +
  7. C: Send one byte
  8. +
  9. T: Responds ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. C: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+

Controller <- Target

+

If the controller wants to read data from the target:

+

+ +

+
    +
  1. C: Broadcast START
  2. +
  3. C: Broadcast target address (7 bits) + the R/W (8th) bit set to READ
  4. +
  5. T: Responds with ACK
  6. +
  7. T: Send byte
  8. +
  9. C: Responds with ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. C: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/08-i2c/using-a-driver.html b/microbit/08-i2c/using-a-driver.html new file mode 100644 index 000000000..5a2888bf1 --- /dev/null +++ b/microbit/08-i2c/using-a-driver.html @@ -0,0 +1,318 @@ + + + + + + Using a driver - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Using a driver

+

As we already discussed in chapter 5 embedded-hal provides abstractions +which can be used to write platform independent code that can interact with +hardware. In fact all the methods we have used to interact with hardware +in chapter 7 and up until now in chapter 8 were from traits, defined by embedded-hal. +Now we'll make actual use of the traits embedded-hal provides for the first time.

+

It would be pointless to implement a driver for our LSM303AGR for every platform +embedded Rust supports (and new ones that might eventually pop up). To avoid this a driver +can be written that consumes generic types that implement embedded-hal traits in order to provide +a platform agnostic version of a driver. Luckily for us this has already been done in the +lsm303agr crate. Hence reading the actual accelerometer and magnetometer values will now +be basically a plug and play experience (plus reading a bit of documentation). In fact the crates.io +page already provides us with everything we need to know in order to read accelerometer data but using a Raspberry Pi. We'll +just have to adapt it to our chip:

+
use linux_embedded_hal::I2cdev;
+use lsm303agr::{AccelOutputDataRate, Lsm303agr};
+
+fn main() {
+    let dev = I2cdev::new("/dev/i2c-1").unwrap();
+    let mut sensor = Lsm303agr::new_with_i2c(dev);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    loop {
+        if sensor.accel_status().unwrap().xyz_new_data {
+            let data = sensor.accel_data().unwrap();
+            println!("Acceleration: x {} y {} z {}", data.x, data.y, data.z);
+        }
+    }
+}
+

Because we already know how to create an instance of an object that implements +the embedded_hal::blocking::i2c traits from the previous page, this is quite trivial:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+};
+
+use lsm303agr::{
+    AccelOutputDataRate, Lsm303agr,
+};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    // Code from documentation
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    loop {
+        if sensor.accel_status().unwrap().xyz_new_data {
+            let data = sensor.accel_data().unwrap();
+            // RTT instead of normal print
+            rprintln!("Acceleration: x {} y {} z {}", data.x, data.y, data.z);
+        }
+    }
+}
+

Just like the last snippet you should just be able to try this out like this:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+
+

Furthermore if you (physically) move around your micro:bit a little you should see the +acceleration numbers that are being printed change.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/09-led-compass/.cargo/config.toml b/microbit/09-led-compass/.cargo/config.toml new file mode 100644 index 000000000..6260c5718 --- /dev/null +++ b/microbit/09-led-compass/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +rustflags = [ + "-C", "link-arg=-Tlink.x", +] diff --git a/microbit/09-led-compass/Cargo.toml b/microbit/09-led-compass/Cargo.toml new file mode 100644 index 000000000..a8801b1f4 --- /dev/null +++ b/microbit/09-led-compass/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "led-compass" +version = "0.1.0" +authors = ["Henrik Böving "] +edition = "2018" + +[dependencies.microbit-v2] +version = "0.12.0" +optional = true + +[dependencies.microbit] +version = "0.12.0" +optional = true + +[dependencies] +cortex-m = "0.7.3" +cortex-m-rt = "0.7.0" +rtt-target = { version = "0.3.1", features = ["cortex-m"] } +panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } +lsm303agr = "0.2.2" +libm = "0.2.1" +embedded-hal = "0.2.6" + +[features] +v2 = ["microbit-v2"] +v1 = ["microbit"] diff --git a/microbit/09-led-compass/Embed.toml b/microbit/09-led-compass/Embed.toml new file mode 100644 index 000000000..f5117ac42 --- /dev/null +++ b/microbit/09-led-compass/Embed.toml @@ -0,0 +1,12 @@ +[default.general] +# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2 +# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1 + +[default.reset] +halt_afterwards = false + +[default.rtt] +enabled = true + +[default.gdb] +enabled = false diff --git a/microbit/09-led-compass/build.rs b/microbit/09-led-compass/build.rs new file mode 100644 index 000000000..c8d8c9141 --- /dev/null +++ b/microbit/09-led-compass/build.rs @@ -0,0 +1,30 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory (wherever `Cargo.toml` is). However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! a rebuild of the application with new memory settings is ensured after updating `memory.x`. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); +} diff --git a/microbit/09-led-compass/calibration.html b/microbit/09-led-compass/calibration.html new file mode 100644 index 000000000..a0294f0f8 --- /dev/null +++ b/microbit/09-led-compass/calibration.html @@ -0,0 +1,254 @@ + + + + + + Calibration - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Calibration

+

One very important thing to do before using a sensor and trying to develop +an application using it is verifying that it's output is actually correct. +If this does not happen to be the case we need to calibrate the sensor +(alternatively it could also be broken but that's rather unlikely in this case).

+

In my case on two different micro:bit's the magnetometer, without calibration, +was quite a bit off of what it is supposed to measure. Hence for the purposes +of this chapter we will just assume that the sensor has to be calibrated.

+

The calibration involves quite a bit of math (matrices) so we won't cover it here but this +Design Note describes the procedure if you are interested.

+

Luckily for us though the group that built the original software for the +micro:bit already implemented a calibration mechanism in C++ over here.

+

You can find a translation of it to Rust in src/calibration.rs. The usage +is demonstrated in the default src/main.rs file. The way the calibration +works is illustrated in this video:

+

+

+

You have to basically tilt the micro:bit until all the LEDs on the LED matrix light up.

+

If you do not want to play the game every time you restart your application during development +feel free to modify the src/main.rs template to just use the same static calibration +once you got the first one.

+

Now where we got the sensor calibration out of the way let's look into +actually building this application!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/09-led-compass/index.html b/microbit/09-led-compass/index.html new file mode 100644 index 000000000..60223e8bf --- /dev/null +++ b/microbit/09-led-compass/index.html @@ -0,0 +1,245 @@ + + + + + + LED compass - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

LED compass

+

In this section, we'll implement a compass using the LEDs on the micro:bit. Like proper compasses, our LED +compass must point north somehow. It will do that by turning on one of its outer LEDs; the LED turned on +should point towards north.

+

Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction. The +magnetometer on the micro:bit measures both the magnitude and the direction of an external magnetic field +but it reports back the decomposition of said field along its axes.

+

The magnetometer has three axes associated to it. The X and Y axes basically span the plane that is the floor. +The Z axis is pointing "out" of the floor, so upwards.

+

You should already be able to write a program that continuously prints the magnetometer +data on the RTT console from the I2C chapter. After you wrote that +program, locate where north is at your current location. Then line up your micro:bit with +that direction and observe how the sensor's measurements look.

+

Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do +you see this time? Then rotate it 90 degrees again. What values do you see?

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/09-led-compass/magnitude.html b/microbit/09-led-compass/magnitude.html new file mode 100644 index 000000000..bde3d7556 --- /dev/null +++ b/microbit/09-led-compass/magnitude.html @@ -0,0 +1,309 @@ + + + + + + Magnitude - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Magnitude

+

We have been working with the direction of the magnetic field but what is its real magnitude? +According to the documentation about the mag_data() function the x y z values we are +getting are in nanotesla. That means the only thing we have to compute in order to get the +magnitude of the magnetic field in nanotesla is the magnitude of the 3D vector that our x y z +values describe. As you might remember from school this is simply:

+
#![allow(unused)]
+fn main() {
+// core doesn't have this function yet so we use libm, just like with
+// atan2f from before.
+use libm::sqrtf;
+let magnitude = sqrtf(x * x + y * y + z * z);
+}
+

Putting all this together in a program:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+use libm::sqrtf;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+        let x = data.x as f32;
+        let y = data.y as f32;
+        let z = data.z as f32;
+        let magnitude = sqrtf(x * x + y * y + z * z);
+        rprintln!("{} nT, {} mG", magnitude, magnitude/100.0);
+    }
+}
+

This program will report the magnitude (strength) of the magnetic field in nanotesla (nT) and milligauss (mG). The +magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude +varies depending on your geographical location) so you should see a value in that range or close to +that range -- I see a magnitude of around 340 mG.

+

Some questions:

+

Without moving the board, what value do you see? Do you always see the same value?

+

If you rotate the board, does the magnitude change? Should it change?

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/09-led-compass/memory.x b/microbit/09-led-compass/memory.x new file mode 100644 index 000000000..9e2ab65f6 --- /dev/null +++ b/microbit/09-led-compass/memory.x @@ -0,0 +1,6 @@ +MEMORY +{ + /* NOTE K = KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 16K +} diff --git a/microbit/09-led-compass/solution-1.html b/microbit/09-led-compass/solution-1.html new file mode 100644 index 000000000..c47dea154 --- /dev/null +++ b/microbit/09-led-compass/solution-1.html @@ -0,0 +1,302 @@ + + + + + + Solution 1 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Solution 1

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use crate::led::Direction;
+use crate::led::direction_to_led;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        let dir = match (data.x > 0, data.y > 0) {
+            // Quadrant I
+            (true, true) => Direction::NorthEast,
+            // Quadrant II
+            (false, true) => Direction::NorthWest,
+            // Quadrant III
+            (false, false) => Direction::SouthWest,
+            // Quadrant IV
+            (true, false) => Direction::SouthEast,
+        };
+
+        // use the led module to turn the direction into an LED arrow
+        // and the led display functions from chapter 5 to display the
+        // arrow
+        display.show(&mut timer, direction_to_led(dir), 100);
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/09-led-compass/solution-2.html b/microbit/09-led-compass/solution-2.html new file mode 100644 index 000000000..3abd28b90 --- /dev/null +++ b/microbit/09-led-compass/solution-2.html @@ -0,0 +1,316 @@ + + + + + + Solution 2 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Solution 2

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use crate::led::Direction;
+use crate::led::direction_to_led;
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+use libm::atan2f;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        // use libm's atan2f since this isn't in core yet
+        let theta = atan2f(data.y as f32, data.x as f32);
+
+        // Figure out the direction based on theta
+        let dir = if theta < -7. * PI / 8. {
+            Direction::West
+        } else if theta < -5. * PI / 8. {
+            Direction::SouthWest
+        } else if theta < -3. * PI / 8. {
+            Direction::South
+        } else if theta < -PI / 8. {
+            Direction::SouthEast
+        } else if theta < PI / 8. {
+            Direction::East
+        } else if theta < 3. * PI / 8. {
+            Direction::NorthEast
+        } else if theta < 5. * PI / 8. {
+            Direction::North
+        } else if theta < 7. * PI / 8. {
+            Direction::NorthWest
+        } else {
+            Direction::West
+        };
+
+        display.show(&mut timer, direction_to_led(dir), 100);
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/09-led-compass/src/calibration.rs b/microbit/09-led-compass/src/calibration.rs new file mode 100644 index 000000000..90c0c4c72 --- /dev/null +++ b/microbit/09-led-compass/src/calibration.rs @@ -0,0 +1,259 @@ +//! Translated from + +use core::fmt::Debug; +use embedded_hal::blocking::delay::DelayUs; +use embedded_hal::blocking::i2c::{Write, WriteRead}; +use libm::{fabsf, sqrtf}; +use lsm303agr::interface::I2cInterface; +use lsm303agr::mode::MagContinuous; +use lsm303agr::Lsm303agr; +use lsm303agr::Measurement; +use microbit::display::blocking::Display; + +const PERIMETER_POINTS: usize = 25; +const PIXEL1_THRESHOLD: i32 = 200; +const PIXEL2_THRESHOLD: i32 = 600; +const CALIBRATION_INCREMENT: i32 = 200; + +#[derive(Debug)] +pub struct Calibration { + center: Measurement, + scale: Measurement, + radius: u32, +} + +impl Default for Calibration { + fn default() -> Calibration { + Calibration { + center: Measurement { x: 0, y: 0, z: 0 }, + scale: Measurement { + x: 1024, + y: 1024, + z: 1024, + }, + radius: 0, + } + } +} + +pub fn calc_calibration( + sensor: &mut Lsm303agr, MagContinuous>, + display: &mut Display, + timer: &mut T, +) -> Calibration +where + T: DelayUs, + I: Write + WriteRead, + E: Debug, +{ + let data = get_data(sensor, display, timer); + return calibrate(&data); +} + +fn get_data( + sensor: &mut Lsm303agr, MagContinuous>, + display: &mut Display, + timer: &mut T, +) -> [Measurement; 25] +where + T: DelayUs, + I: Write + WriteRead, + E: Debug, +{ + let mut leds = [ + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + ]; + let mut cursor = (2, 2); + let mut data = [Measurement { x: 0, y: 0, z: 0 }; PERIMETER_POINTS]; + let mut samples = 0; + + while samples < PERIMETER_POINTS { + while !sensor.accel_status().unwrap().xyz_new_data {} + let accel_data = sensor.accel_data().unwrap(); + let x = accel_data.x; + let y = accel_data.y; + if x < -PIXEL2_THRESHOLD { + cursor.1 = 0; + } else if x < -PIXEL1_THRESHOLD { + cursor.1 = 1; + } else if x > PIXEL2_THRESHOLD { + cursor.1 = 4; + } else if x > PIXEL1_THRESHOLD { + cursor.1 = 3; + } else { + cursor.1 = 2; + } + + if y < -PIXEL2_THRESHOLD { + cursor.0 = 0; + } else if y < -PIXEL1_THRESHOLD { + cursor.0 = 1; + } else if y > PIXEL2_THRESHOLD { + cursor.0 = 4; + } else if y > PIXEL1_THRESHOLD { + cursor.0 = 3; + } else { + cursor.0 = 2; + } + + // Turn the y axis properly + cursor.0 = 4 - cursor.0; + + if leds[cursor.0][cursor.1] != 1 { + leds[cursor.0][cursor.1] = 1; + while !sensor.mag_status().unwrap().xyz_new_data {} + let mag_data = measurement_to_enu(sensor.mag_data().unwrap()); + data[samples] = mag_data; + samples += 1; + } + display.show(timer, leds, 200); + } + return data; +} + +fn difference_square(a: Measurement, b: Measurement) -> f32 { + let dx = (a.x - b.x) as f32; + let dy = (a.y - b.y) as f32; + let dz = (a.z - b.z) as f32; + + (dx * dx) + (dy * dy) + (dz * dz) +} + +fn measure_score(center: Measurement, data: &[Measurement]) -> f32 { + let mut min_d = difference_square(center, data[0]); + let mut max_d = min_d; + + for point in data[1..].iter() { + let d = difference_square(center, *point); + if d < min_d { + min_d = d; + } + + if d > max_d { + max_d = d; + } + } + + max_d - min_d +} + +fn calibrate(data: &[Measurement]) -> Calibration { + // Approximate a center for the data + let mut center = Measurement { x: 0, y: 0, z: 0 }; + let mut best = center; + + for point in data { + center.x += point.x; + center.y += point.y; + center.z += point.z; + } + + center.x = center.x / data.len() as i32; + center.y = center.y / data.len() as i32; + center.z = center.z / data.len() as i32; + + let mut current = center; + let mut score = measure_score(current, data); + + // Calculate a fixpoint position + loop { + for x in [-CALIBRATION_INCREMENT, 0, CALIBRATION_INCREMENT] { + for y in [-CALIBRATION_INCREMENT, 0, CALIBRATION_INCREMENT] { + for z in [-CALIBRATION_INCREMENT, 0, CALIBRATION_INCREMENT] { + let mut attempt = current; + attempt.x += x; + attempt.y += y; + attempt.z += z; + + let attempt_score = measure_score(attempt, data); + if attempt_score < score { + score = attempt_score; + best = attempt; + } + } + } + } + + if best == current { + break; + } + + current = best; + } + + spherify(current, data) +} + +fn spherify(center: Measurement, data: &[Measurement]) -> Calibration { + let mut radius = 0; + for point in data { + let d = sqrtf(difference_square(center, *point)) as u32; + if d > radius { + radius = d; + } + } + + let mut scale: f32 = 0.0; + let mut weight_x = 0.0; + let mut weight_y = 0.0; + let mut weight_z = 0.0; + + for point in data { + let d = sqrtf(difference_square(center, *point)); + let s = (radius as f32 / d) - 1.0; + scale = scale.max(s); + + let dx = point.x - center.x; + let dy = point.y - center.y; + let dz = point.z - center.z; + + weight_x += s * fabsf(dx as f32 / d); + weight_y += s * fabsf(dy as f32 / d); + weight_z += s * fabsf(dz as f32 / d); + } + + let wmag = sqrtf((weight_x * weight_x) + (weight_y * weight_y) + (weight_z * weight_z)); + let scale_x = 1.0 + scale * (weight_x / wmag); + let scale_y = 1.0 + scale * (weight_y / wmag); + let scale_z = 1.0 + scale * (weight_z / wmag); + + Calibration { + center, + radius, + scale: Measurement { + x: (1024.0 * scale_x) as i32, + y: (1024.0 * scale_y) as i32, + z: (1024.0 * scale_z) as i32, + }, + } +} + +pub fn calibrated_measurement(measurement: Measurement, calibration: &Calibration) -> Measurement { + let mut out = measurement_to_enu(measurement); + out = Measurement { + x: ((out.x - calibration.center.x) * calibration.scale.x) >> 10, + y: ((out.y - calibration.center.y) * calibration.scale.y) >> 10, + z: ((out.z - calibration.center.z) * calibration.scale.z) >> 10, + }; + enu_to_cartesian(out) +} + +fn measurement_to_enu(measurement: Measurement) -> Measurement { + Measurement { + x: -measurement.y, + y: -measurement.x, + z: measurement.z, + } +} + +fn enu_to_cartesian(measurement: Measurement) -> Measurement { + Measurement { + x: -measurement.y, + y: measurement.x, + z: measurement.z, + } +} diff --git a/microbit/09-led-compass/src/led.rs b/microbit/09-led-compass/src/led.rs new file mode 100644 index 000000000..00e5fea5e --- /dev/null +++ b/microbit/09-led-compass/src/led.rs @@ -0,0 +1,88 @@ +#[derive(Debug)] +pub enum Direction{ + North, + NorthEast, + East, + SouthEast, + South, + SouthWest, + West, + NorthWest, +} + +const NORTH: [[u8; 5]; 5] = [ + [0, 0, 1, 0, 0], + [0, 1, 1, 1, 0], + [1, 0, 1, 0, 1], + [0, 0, 1, 0, 0], + [0, 0, 1, 0, 0], +]; + +const NORTH_EAST: [[u8; 5]; 5] = [ + [1, 1, 1, 0, 0], + [1, 1, 0, 0, 0], + [1, 0, 1, 0, 0], + [0, 0, 0, 1, 0], + [0, 0, 0, 0, 1], +]; + +const EAST: [[u8; 5]; 5] = [ + [0, 0, 1, 0, 0], + [0, 1, 0, 0, 0], + [1, 1, 1, 1, 1], + [0, 1, 0, 0, 0], + [0, 0, 1, 0, 0], +]; + +const SOUTH_EAST: [[u8; 5]; 5] = [ + [0, 0, 0, 0, 1], + [0, 0, 0, 1, 0], + [1, 0, 1, 0, 0], + [1, 1, 0, 0, 0], + [1, 1, 1, 0, 0], +]; + +const SOUTH: [[u8; 5]; 5] = [ + [0, 0, 1, 0, 0], + [0, 0, 1, 0, 0], + [1, 0, 1, 0, 1], + [0, 1, 1, 1, 0], + [0, 0, 1, 0, 0], +]; + +const SOUTH_WEST: [[u8; 5]; 5] = [ + [1, 0, 0, 0, 0], + [0, 1, 0, 0, 0], + [0, 0, 1, 0, 1], + [0, 0, 0, 1, 1], + [0, 0, 1, 1, 1], +]; + +const WEST: [[u8; 5]; 5] = [ + [0, 0, 1, 0, 0], + [0, 0, 0, 1, 0], + [1, 1, 1, 1, 1], + [0, 0, 0, 1, 0], + [0, 0, 1, 0, 0], +]; + +const NORTH_WEST: [[u8; 5]; 5] = [ + [0, 0, 1, 1, 1], + [0, 0, 0, 1, 1], + [0, 0, 1, 0, 1], + [0, 1, 0, 0, 0], + [1, 0, 0, 0, 0], +]; + +pub fn direction_to_led(direction: Direction) -> [[u8; 5]; 5] { + match direction { + Direction::North => NORTH, + Direction::NorthEast => NORTH_EAST, + Direction::East => EAST, + Direction::SouthEast => SOUTH_EAST, + Direction::South => SOUTH, + Direction::SouthWest => SOUTH_WEST, + Direction::West => WEST, + Direction::NorthWest => NORTH_WEST, + } +} diff --git a/microbit/09-led-compass/src/main.rs b/microbit/09-led-compass/src/main.rs new file mode 100644 index 000000000..944e66461 --- /dev/null +++ b/microbit/09-led-compass/src/main.rs @@ -0,0 +1,52 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use cortex_m_rt::entry; +use panic_rtt_target as _; +use rtt_target::{rprintln, rtt_init_print}; + +mod calibration; +use crate::calibration::calc_calibration; +use crate::calibration::calibrated_measurement; + +use microbit::{display::blocking::Display, hal::Timer}; + +#[cfg(feature = "v1")] +use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; + +#[cfg(feature = "v2")] +use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; + +use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + let board = microbit::Board::take().unwrap(); + + #[cfg(feature = "v1")] + let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; + + #[cfg(feature = "v2")] + let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; + + let mut timer = Timer::new(board.TIMER0); + let mut display = Display::new(board.display_pins); + + let mut sensor = Lsm303agr::new_with_i2c(i2c); + sensor.init().unwrap(); + sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); + sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); + let mut sensor = sensor.into_mag_continuous().ok().unwrap(); + + let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); + rprintln!("Calibration: {:?}", calibration); + rprintln!("Calibration done, entering busy loop"); + loop { + while !sensor.mag_status().unwrap().xyz_new_data {} + let mut data = sensor.mag_data().unwrap(); + data = calibrated_measurement(data, &calibration); + rprintln!("x: {}, y: {}, z: {}", data.x, data.y, data.z); + } +} diff --git a/microbit/09-led-compass/take-1.html b/microbit/09-led-compass/take-1.html new file mode 100644 index 000000000..09c68e931 --- /dev/null +++ b/microbit/09-led-compass/take-1.html @@ -0,0 +1,315 @@ + + + + + + Take 1 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Take 1

+

What's the simplest way in which we can implement the LED compass, even if it's not perfect?

+

For starters, we'd only care about the X and Y components of the magnetic field because when you +look at a compass you always hold it in horizontal position and thus the compass is in the XY plane.

+

+ +

+

If we only looked at the signs of the X and Y components we could determine to which quadrant the +magnetic field belongs to. Now the question of course is which direction (north, north-east, etc.) +do the 4 quadrants represent. In order to figure this out we can just rotate the micro:bit and observe +how the quadrant changes whenever we point in another direction.

+

After experimenting a bit we can find out that if we point the micro:bit in e.g. north-east direction, +both the X and the Y component are always positive. Based on this information you should be able to +figure out which direction the other quadrants represent.

+

Once you figured out the relation between quadrant and direction you should be able to +complete the template from below.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use led::Direction;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        let dir = match (data.x > 0, data.y > 0) {
+            // Quadrant ???
+            (true, true) => Direction::NorthEast,
+            // Quadrant ???
+            (false, true) => panic!("TODO"),
+            // Quadrant ???
+            (false, false) => panic!("TODO"),
+            // Quadrant ???
+            (true, false) => panic!("TODO"),
+        };
+
+        // use the led module to turn the direction into an LED arrow
+        // and the led display functions from chapter 5 to display the
+        // arrow
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/09-led-compass/take-2.html b/microbit/09-led-compass/take-2.html new file mode 100644 index 000000000..1ec3b27d3 --- /dev/null +++ b/microbit/09-led-compass/take-2.html @@ -0,0 +1,317 @@ + + + + + + Take 2 - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Take 2

+

This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y +axes of the magnetometer.

+

We'll use the atan2 function. This function returns an angle in the -PI to PI range. The +graphic below shows how this angle is measured:

+

+ +

+

Although not explicitly shown in this graph the X axis points to the right and the Y axis points up.

+

Here's the starter code. theta, in radians, has already been computed. You need to pick which LED +to turn on based on the value of theta.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use crate::led::Direction;
+use crate::led::direction_to_led;
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+use libm::atan2f;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        // use libm's atan2f since this isn't in core yet
+        let theta = atan2f(data.y as f32, data.x as f32);
+
+        // Figure out the direction based on theta
+        let dir = Direction::NorthEast;
+
+        display.show(&mut timer, direction_to_led(dir), 100);
+    }
+}
+
+

Suggestions/tips:

+
    +
  • A whole circle rotation equals 360 degrees.
  • +
  • PI radians is equivalent to 180 degrees.
  • +
  • If theta was zero, which direction are you pointing at?
  • +
  • If theta was, instead, very close to zero, which direction are you pointing at?
  • +
  • If theta kept increasing, at what value would you change the direction
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/10-punch-o-meter/.cargo/config.toml b/microbit/10-punch-o-meter/.cargo/config.toml new file mode 100644 index 000000000..6260c5718 --- /dev/null +++ b/microbit/10-punch-o-meter/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +rustflags = [ + "-C", "link-arg=-Tlink.x", +] diff --git a/microbit/10-punch-o-meter/Cargo.toml b/microbit/10-punch-o-meter/Cargo.toml new file mode 100644 index 000000000..c49537a0b --- /dev/null +++ b/microbit/10-punch-o-meter/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "punch-o-meter" +version = "0.1.0" +authors = ["Henrik Böving "] +edition = "2018" + +[dependencies.microbit-v2] +version = "0.12.0" +optional = true + +[dependencies.microbit] +version = "0.12.0" +optional = true + +[dependencies] +cortex-m = "0.7.3" +cortex-m-rt = "0.7.0" +rtt-target = { version = "0.3.1", features = ["cortex-m"] } +panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } +lsm303agr = "0.2.2" +nb = "1.0.0" + +[features] +v2 = ["microbit-v2"] +v1 = ["microbit"] diff --git a/microbit/10-punch-o-meter/Embed.toml b/microbit/10-punch-o-meter/Embed.toml new file mode 100644 index 000000000..f5117ac42 --- /dev/null +++ b/microbit/10-punch-o-meter/Embed.toml @@ -0,0 +1,12 @@ +[default.general] +# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2 +# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1 + +[default.reset] +halt_afterwards = false + +[default.rtt] +enabled = true + +[default.gdb] +enabled = false diff --git a/microbit/10-punch-o-meter/build.rs b/microbit/10-punch-o-meter/build.rs new file mode 100644 index 000000000..c8d8c9141 --- /dev/null +++ b/microbit/10-punch-o-meter/build.rs @@ -0,0 +1,30 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory (wherever `Cargo.toml` is). However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! a rebuild of the application with new memory settings is ensured after updating `memory.x`. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); +} diff --git a/microbit/10-punch-o-meter/gravity-is-up.html b/microbit/10-punch-o-meter/gravity-is-up.html new file mode 100644 index 000000000..6c3bed121 --- /dev/null +++ b/microbit/10-punch-o-meter/gravity-is-up.html @@ -0,0 +1,251 @@ + + + + + + Gravity is up? - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Gravity is up?

+

What's the first thing we'll do?

+

Perform a sanity check!

+

You should already be able to write a program that continuously prints the accelerometer +data on the RTT console from the I2C chapter. Do you observe something +interesting even when holding the board parallel to the floor with the LED side facing down?

+

What you should see like this is that both the X and Y values are rather close to 0, while the +Z value is at around 1000. Which is weird because the board is not moving yet its acceleration is +non-zero. What's going on? This must be related to the gravity, right? Because the acceleration of +gravity is 1 g (aha, 1 g = 1000 from the accelerometer). But the gravity pulls objects downwards +so the acceleration along the Z axis should be negative not positive

+

Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity +to the X or Y axis but the acceleration measured by the accelerometer is always pointing up.

+

What happens here is that the accelerometer is measuring the proper acceleration of the board not +the acceleration you are observing. This proper acceleration is the acceleration of the board as +seen from an observer that's in free fall. An observer that's in free fall is moving toward the +center of the Earth with an acceleration of 1g; from its point of view the board is actually +moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the +proper acceleration is pointing up. This also means that if the board was in free fall, the +accelerometer would report a proper acceleration of zero. Please, don't try that at home.

+

Yes, physics is hard. Let's move on.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/10-punch-o-meter/index.html b/microbit/10-punch-o-meter/index.html new file mode 100644 index 000000000..3851fa016 --- /dev/null +++ b/microbit/10-punch-o-meter/index.html @@ -0,0 +1,238 @@ + + + + + + Punch-o-meter - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Punch-o-meter

+

In this section we'll be playing with the accelerometer that's in the board.

+

What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, +actually the maximum acceleration that you can reach because acceleration is what accelerometers +measure. Strength and acceleration are proportional though so it's a good approximation.

+

As we already know from previous chapters the accelerometer is built inside the LSM303AGR package. +And just like the magnetometer, it is accessible using the I2C bus. It also has the same coordinate +system as the magnetometer.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/10-punch-o-meter/memory.x b/microbit/10-punch-o-meter/memory.x new file mode 100644 index 000000000..9e2ab65f6 --- /dev/null +++ b/microbit/10-punch-o-meter/memory.x @@ -0,0 +1,6 @@ +MEMORY +{ + /* NOTE K = KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 16K +} diff --git a/microbit/10-punch-o-meter/my-solution.html b/microbit/10-punch-o-meter/my-solution.html new file mode 100644 index 000000000..e75f86f42 --- /dev/null +++ b/microbit/10-punch-o-meter/my-solution.html @@ -0,0 +1,329 @@ + + + + + + My solution - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

My solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+};
+
+use lsm303agr::{
+    AccelScale, AccelOutputDataRate, Lsm303agr,
+};
+
+use microbit::hal::timer::Timer;
+use microbit::hal::prelude::*;
+use nb::Error;
+
+#[entry]
+fn main() -> ! {
+    const THRESHOLD: f32 = 0.5;
+
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut countdown = Timer::new(board.TIMER0);
+    let mut delay = Timer::new(board.TIMER1);
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    // Allow the sensor to measure up to 16 G since human punches
+    // can actually be quite fast
+    sensor.set_accel_scale(AccelScale::G16).unwrap();
+
+    let mut max_g = 0.;
+    let mut measuring = false;
+
+    loop {
+        while !sensor.accel_status().unwrap().xyz_new_data {}
+        // x acceleration in g
+        let g_x = sensor.accel_data().unwrap().x as f32 / 1000.0;
+
+        if measuring {
+            // Check the status of our contdown
+            match countdown.wait() {
+                // countdown isn't done yet
+                Err(Error::WouldBlock) => {
+                    if g_x > max_g {
+                        max_g = g_x;
+                    }
+                },
+                // Countdown is done
+                Ok(_) => {
+                    // Report max value
+                    rprintln!("Max acceleration: {}g", max_g);
+
+                    // Reset
+                    max_g = 0.;
+                    measuring = false;
+                },
+                // Since the nrf52 and nrf51 HAL have Void as an error type
+                // this path cannot occur, as Void is an empty type
+                Err(Error::Other(_)) => {
+                    unreachable!()
+                }
+            }
+        } else {
+            // If acceleration goes above a threshold, we start measuring
+            if g_x > THRESHOLD {
+                rprintln!("START!");
+
+                measuring = true;
+                max_g = g_x;
+                // The documentation notes that the timer works at a frequency
+                // of 1 Mhz, so in order to wait for 1 second we have to
+                // set it to 1_000_000 ticks.
+                countdown.start(1_000_000_u32);
+            }
+        }
+        delay.delay_ms(20_u8);
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/10-punch-o-meter/src/main.rs b/microbit/10-punch-o-meter/src/main.rs new file mode 100644 index 000000000..bc1ce25c5 --- /dev/null +++ b/microbit/10-punch-o-meter/src/main.rs @@ -0,0 +1,15 @@ +#![deny(unsafe_code)] +#![no_main] +#![no_std] + +use cortex_m_rt::entry; +use rtt_target::rtt_init_print; +use panic_rtt_target as _; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + let board = microbit::Board::take().unwrap(); + + loop {} +} diff --git a/microbit/10-punch-o-meter/the-challenge.html b/microbit/10-punch-o-meter/the-challenge.html new file mode 100644 index 000000000..47a8262b4 --- /dev/null +++ b/microbit/10-punch-o-meter/the-challenge.html @@ -0,0 +1,252 @@ + + + + + + The challenge - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The challenge

+

To keep things simple, we'll measure the acceleration only in the X axis while the board remains +horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed +before which would be hard because that 1g could have X Y Z components depending on how the board +is oriented.

+

Here's what the punch-o-meter must do:

+
    +
  • By default, the app is not "observing" the acceleration of the board.
  • +
  • When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), +the app should start a new measurement.
  • +
  • During that measurement interval, the app should keep track of the maximum acceleration observed
  • +
  • After the measurement interval ends, the app must report the maximum acceleration observed. You +can report the value using the rprintln! macro.
  • +
+

Give it a try and let me know how hard you can punch ;-).

+
+

NOTE There are two additional APIs that should be useful for this task we haven't discussed yet. +First the set_accel_scale one which you need to measure high g values. +Secondly the Countdown trait from embedded_hal. If you decide to use this to keep your measurement +intervals you will have to pattern match on the nb::Result type instead of using the block! macro +we have seen in previous chapters.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/11-snake-game/.cargo/config.toml b/microbit/11-snake-game/.cargo/config.toml new file mode 100644 index 000000000..6260c5718 --- /dev/null +++ b/microbit/11-snake-game/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +rustflags = [ + "-C", "link-arg=-Tlink.x", +] diff --git a/microbit/11-snake-game/Cargo.toml b/microbit/11-snake-game/Cargo.toml new file mode 100644 index 000000000..de02fcb7b --- /dev/null +++ b/microbit/11-snake-game/Cargo.toml @@ -0,0 +1,30 @@ +[package] +name = "snake-game" +version = "0.1.0" +authors = ["Alan Bunbury "] +edition = "2018" + +[dependencies.microbit-v2] +version = "0.13.0" +optional = true + +# NOTE: We define a dependency for v1 here so that CI checks pass, and to facilitate future porting of the snake game +# to the micro:bit v1. However, the code has not been written for, or tested on, the v1 and may not work. +[dependencies.microbit] +version = "0.13.0" +optional = true + +[dependencies] +cortex-m = "0.7.3" +cortex-m-rt = "0.7.0" +rtt-target = { version = "0.3.1", features = ["cortex-m"] } +panic-rtt-target = { version = "0.1.2", features = ["cortex-m"] } +lsm303agr = "0.2.2" +nb = "1.0.0" +libm = "0.2.1" +heapless = "0.8.0" +tiny-led-matrix = "1.0.1" + +[features] +v2 = ["microbit-v2"] +v1 = ["microbit"] diff --git a/microbit/11-snake-game/Embed.toml b/microbit/11-snake-game/Embed.toml new file mode 100644 index 000000000..21950130b --- /dev/null +++ b/microbit/11-snake-game/Embed.toml @@ -0,0 +1,11 @@ +[default.general] +chip = "nrf52833_xxAA" # micro:bit V2 + +[default.reset] +halt_afterwards = false + +[default.rtt] +enabled = true + +[default.gdb] +enabled = false diff --git a/microbit/11-snake-game/controls.html b/microbit/11-snake-game/controls.html new file mode 100644 index 000000000..69ed75a29 --- /dev/null +++ b/microbit/11-snake-game/controls.html @@ -0,0 +1,412 @@ + + + + + + Controls - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Controls

+

Our protagonist will be controlled by the two buttons on the front of the micro:bit. Button A will turn to the (snake's) +left, and button B will turn to the (snake's) right.

+

We will use the microbit::pac::interrupt macro to handle button presses in a concurrent way. The interrupt will be +generated by the micro:bit's GPIOTE (General Purpose Input/Output Tasks and Events) peripheral.

+

The controls module

+

Code in this section should be placed in a separate file, controls.rs, in our src directory.

+

We will need to keep track of two separate pieces of global mutable state: A reference to the GPIOTE peripheral, and a +record of the selected direction to turn next.

+
#![allow(unused)]
+fn main() {
+use core::cell::RefCell;
+use cortex_m::interrupt::Mutex;
+use microbit::hal::gpiote::Gpiote;
+use crate::game::Turn;
+
+// ...
+
+static GPIO: Mutex<RefCell<Option<Gpiote>>> = Mutex::new(RefCell::new(None));
+static TURN: Mutex<RefCell<Turn>> = Mutex::new(RefCell::new(Turn::None));
+}
+

The data is wrapped in a RefCell to permit interior mutability. You can learn more about RefCell by reading +its documentation and the relevant chapter of the Rust Book. +The RefCell is, in turn, wrapped in a cortex_m::interrupt::Mutex to allow safe access. +The Mutex provided by the cortex_m crate uses the concept of a critical section. +Data in a Mutex can only be accessed from within a function or closure passed to cortex_m::interrupt:free, which +ensures that the code in the function or closure cannot itself be interrupted.

+

First, we will initialise the buttons.

+
#![allow(unused)]
+fn main() {
+use cortex_m::interrupt::free;
+use microbit::{
+    board::Buttons,
+    pac::{self, GPIOTE}
+};
+
+// ...
+
+/// Initialise the buttons and enable interrupts.
+pub(crate) fn init_buttons(board_gpiote: GPIOTE, board_buttons: Buttons) {
+    let gpiote = Gpiote::new(board_gpiote);
+
+    let channel0 = gpiote.channel0();
+    channel0
+        .input_pin(&board_buttons.button_a.degrade())
+        .hi_to_lo()
+        .enable_interrupt();
+    channel0.reset_events();
+
+    let channel1 = gpiote.channel1();
+    channel1
+        .input_pin(&board_buttons.button_b.degrade())
+        .hi_to_lo()
+        .enable_interrupt();
+    channel1.reset_events();
+
+    free(move |cs| {
+        *GPIO.borrow(cs).borrow_mut() = Some(gpiote);
+
+        unsafe {
+            pac::NVIC::unmask(pac::Interrupt::GPIOTE);
+        }
+        pac::NVIC::unpend(pac::Interrupt::GPIOTE);
+    });
+}
+}
+

The GPIOTE peripheral on the nRF52 has 8 "channels", each of which can be connected to a GPIO pin and configured to +respond to certain events, including rising edge (transition from low to high signal) and falling edge (high to low +signal). A button is a GPIO pin which has high signal when not pressed and low signal otherwise. Therefore, a button +press is a falling edge.

+

We connect channel0 to button_a and channel1 to button_b and, in each case, tell them to generate events on a +falling edge (hi_to_lo). We store a reference to our GPIOTE peripheral in the GPIO Mutex. We then unmask GPIOTE +interrupts, allowing them to be propagated by the hardware, and call unpend to clear any interrupts with pending +status (which may have been generated prior to the interrupts being unmasked).

+

Next, we write the code that handles the interrupt. We use the interrupt macro provided by microbit::pac (in the +case of the v2, it is re-exported from the nrf52833_hal crate). We define a function with the same name as the +interrupt we want to handle (you can see them all here) and annotate it with #[interrupt].

+
#![allow(unused)]
+fn main() {
+use microbit::pac::interrupt;
+
+// ...
+
+#[interrupt]
+fn GPIOTE() {
+    free(|cs| {
+        if let Some(gpiote) = GPIO.borrow(cs).borrow().as_ref() {
+            let a_pressed = gpiote.channel0().is_event_triggered();
+            let b_pressed = gpiote.channel1().is_event_triggered();
+
+            let turn = match (a_pressed, b_pressed) {
+                (true, false) => Turn::Left,
+                (false, true) => Turn::Right,
+                _ => Turn::None
+            };
+
+            gpiote.channel0().reset_events();
+            gpiote.channel1().reset_events();
+
+            *TURN.borrow(cs).borrow_mut() = turn;
+        }
+    });
+}
+}
+

When a GPIOTE interrupt is generated, we check each button to see whether it has been pressed. If only button A has been +pressed, we record that the snake should turn to the left. If only button B has been pressed, we record that the snake +should turn to the right. In any other case, we record that the snake should not make any turn. The relevant turn is +stored in the TURN Mutex. All of this happens within a free block, to ensure that we cannot be interrupted again +while handling this interrupt.

+

Finally, we expose a simple function to get the next turn.

+
#![allow(unused)]
+fn main() {
+/// Get the next turn (i.e., the turn corresponding to the most recently pressed button).
+pub fn get_turn(reset: bool) -> Turn {
+    free(|cs| {
+        let turn = *TURN.borrow(cs).borrow();
+        if reset {
+            *TURN.borrow(cs).borrow_mut() = Turn::None
+        }
+        turn
+    })
+}
+}
+

This function simply returns the current value of the TURN Mutex. It takes a single boolean argument, reset. If +reset is true, the value of TURN is reset, i.e., set to Turn::None.

+

Updating the main file

+

Returning to our main function, we need to add a call to init_buttons before our main loop, and in the game loop, +replace our placeholder Turn::None argument to the game.step method with the value returned by get_turn.

+
#![no_main]
+#![no_std]
+
+mod game;
+mod control;
+
+use cortex_m_rt::entry;
+use microbit::{
+    Board,
+    hal::{prelude::*, Rng, Timer},
+    display::blocking::Display
+};
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+use crate::game::{Game, GameStatus};
+use crate::control::{init_buttons, get_turn};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0);
+    let mut rng = Rng::new(board.RNG);
+    let mut game = Game::new(rng.random_u32());
+
+    let mut display = Display::new(board.display_pins);
+
+    init_buttons(board.GPIOTE, board.buttons);
+
+    loop {  // Main loop
+        loop {  // Game loop
+            let image = game.game_matrix(9, 9, 9);
+            // The brightness values are meaningless at the moment as we haven't yet
+            // implemented a display capable of displaying different brightnesses
+            display.show(&mut timer, image, game.step_len_ms());
+            match game.status {
+                GameStatus::Ongoing => game.step(get_turn(true)),
+                _ => {
+                    for _ in 0..3 {
+                        display.clear();
+                        timer.delay_ms(200u32);
+                        display.show(&mut timer, image, 200);
+                    }
+                    display.clear();
+                    display.show(&mut timer, game.score_matrix(), 1000);
+                    break
+                }
+            }
+        }
+        game.reset();
+    }
+}
+

Now we can control the snake using the micro:bit's buttons!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/11-snake-game/game-logic.html b/microbit/11-snake-game/game-logic.html new file mode 100644 index 000000000..d8a6244c4 --- /dev/null +++ b/microbit/11-snake-game/game-logic.html @@ -0,0 +1,690 @@ + + + + + + Game logic - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Game logic

+

First, we are going to describe the game logic. You are probably familiar with snake games, but if not, the basic idea +is that the player guides a snake around a 2D grid. At any given time, there is some "food" at a random location on the +grid and the goal of the game is to get the snake to "eat" as much food as possible. Each time the snake eats some food +it grows in length. The player loses if the snake crashes into its own tail. In some variants of the game, the player +also loses if the snake crashes into the edge of the grid, but given the small size of our grid we are going to +implement a "wraparound" rule where, if the snake goes off one edge of the grid, it will continue from the opposite +edge.

+

The game module

+

The code in this section should go in a separate file, game.rs, in our src directory.

+
#![allow(unused)]
+fn main() {
+use heapless::FnvIndexSet;
+
+/// A single point on the grid.
+#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
+struct Coords {
+   // Signed ints to allow negative values (handy when checking if we have gone
+   // off the top or left of the grid)
+   row: i8,
+   col: i8
+}
+
+impl Coords {
+   /// Get random coordinates within a grid. `exclude` is an optional set of
+   /// coordinates which should be excluded from the output.
+   fn random(
+      rng: &mut Prng,  // We define the Prng struct below
+      exclude: Option<&FnvIndexSet<Coords, 32>>
+   ) -> Self {
+      let mut coords = Coords {
+         row: ((rng.random_u32() as usize) % 5) as i8,
+         col: ((rng.random_u32() as usize) % 5) as i8
+      };
+      while exclude.is_some_and(|exc| exc.contains(&coords)) {
+         coords = Coords {
+            row: ((rng.random_u32() as usize) % 5) as i8,
+            col: ((rng.random_u32() as usize) % 5) as i8
+         }
+      }
+      coords
+   }
+
+   /// Whether the point is outside the bounds of the grid.
+   fn is_out_of_bounds(&self) -> bool {
+      self.row < 0 || self.row >= 5 || self.col < 0 || self.col >= 5
+   }
+}
+}
+

We use a Coords struct to refer to a position on the grid. Because Coords only contains two integers, we tell the +compiler to derive an implementation of the Copy trait for it, so we can pass around Coords structs without having +to worry about ownership.

+

We define an associated function, Coords::random, which will give us a random position on the grid. We will use this +later to determine where to place the snake's food. To do this, we need a source of random numbers. The nRF52833 has a +random number generator (RNG) peripheral, documented at section 6.19 of the spec sheet. The HAL gives us a simple +interface to the RNG via the microbit::hal::rng::Rng struct. However, it is a blocking interface, and the time +needed to generate one random byte of data is variable and unpredictable. We therefore define a pseudo-random +number generator (PRNG) which uses an xorshift algorithm to generate +pseudo-random u32 values that we can use to determine where to place food. The algorithm is basic and not +cryptographically secure, but it is efficient, easy to implement and good enough for our humble snake game. Our Prng +struct requires an initial seed value, which we get from the RNG peripheral.

+
#![allow(unused)]
+fn main() {
+/// A basic pseudo-random number generator.
+struct Prng {
+    value: u32
+}
+
+impl Prng {
+    fn new(seed: u32) -> Self {
+        Self {value: seed}
+    }
+
+    /// Basic xorshift PRNG function: see https://en.wikipedia.org/wiki/Xorshift
+    fn xorshift32(mut input: u32) -> u32 {
+        input ^= input << 13;
+        input ^= input >> 17;
+        input ^= input << 5;
+        input
+    }
+
+    /// Return a pseudo-random u32.
+    fn random_u32(&mut self) -> u32 {
+        self.value = Self::xorshift32(self.value);
+        self.value
+    }
+}
+}
+

We also need to define a few enums that help us manage the game's state: direction of movement, direction to turn, the +current game status and the outcome of a particular "step" in the game (ie, a single movement of the snake).

+
#![allow(unused)]
+fn main() {
+/// Define the directions the snake can move.
+enum Direction {
+    Up,
+    Down,
+    Left,
+    Right
+}
+
+/// What direction the snake should turn.
+#[derive(Debug, Copy, Clone)]
+pub enum Turn {
+    Left,
+    Right,
+    None
+}
+
+/// The current status of the game.
+pub enum GameStatus {
+    Won,
+    Lost,
+    Ongoing
+}
+
+/// The outcome of a single move/step.
+enum StepOutcome {
+    /// Grid full (player wins)
+    Full(Coords),
+    /// Snake has collided with itself (player loses)
+    Collision(Coords),
+    /// Snake has eaten some food
+    Eat(Coords),
+    /// Snake has moved (and nothing else has happened)
+    Move(Coords)
+}
+}
+

Next up we define a Snake struct, which keeps track of the coordinates occupied by the snake and its direction of +travel. We use a queue (heapless::spsc::Queue) to keep track of the order of coordinates and a hash set +(heapless::FnvIndexSet) to allow for quick collision detection. The Snake has methods to allow it to move.

+
#![allow(unused)]
+fn main() {
+use heapless::spsc::Queue;
+
+// ...
+
+struct Snake {
+    /// Coordinates of the snake's head.
+    head: Coords,
+    /// Queue of coordinates of the rest of the snake's body. The end of the tail is
+    /// at the front.
+    tail: Queue<Coords, 32>,
+    /// A set containing all coordinates currently occupied by the snake (for fast
+    /// collision checking).
+    coord_set: FnvIndexSet<Coords, 32>,
+    /// The direction the snake is currently moving in.
+    direction: Direction
+}
+
+impl Snake {
+    fn new() -> Self {
+        let head = Coords { row: 2, col: 2 };
+        let initial_tail = Coords { row: 2, col: 1 };
+        let mut tail = Queue::new();
+        tail.enqueue(initial_tail).unwrap();
+        let mut coord_set: FnvIndexSet<Coords, 32> = FnvIndexSet::new();
+        coord_set.insert(head).unwrap();
+        coord_set.insert(initial_tail).unwrap();
+        Self {
+            head,
+            tail,
+            coord_set,
+            direction: Direction::Right,
+        }
+    }
+
+    /// Move the snake onto the tile at the given coordinates. If `extend` is false,
+    /// the snake's tail vacates the rearmost tile.
+    fn move_snake(&mut self, coords: Coords, extend: bool) {
+        // Location of head becomes front of tail
+        self.tail.enqueue(self.head).unwrap();
+        // Head moves to new coords
+        self.head = coords;
+        self.coord_set.insert(coords).unwrap();
+        if !extend {
+            let back = self.tail.dequeue().unwrap();
+            self.coord_set.remove(&back);
+        }
+    }
+
+    fn turn_right(&mut self) {
+        self.direction = match self.direction {
+            Direction::Up => Direction::Right,
+            Direction::Down => Direction::Left,
+            Direction::Left => Direction::Up,
+            Direction::Right => Direction::Down
+        }
+    }
+
+    fn turn_left(&mut self) {
+        self.direction = match self.direction {
+            Direction::Up => Direction::Left,
+            Direction::Down => Direction::Right,
+            Direction::Left => Direction::Down,
+            Direction::Right => Direction::Up
+        }
+    }
+
+    fn turn(&mut self, direction: Turn) {
+        match direction {
+            Turn::Left => self.turn_left(),
+            Turn::Right => self.turn_right(),
+            Turn::None => ()
+        }
+    }
+}
+}
+

The Game struct keeps track of the game state. It holds a Snake object, the current coordinates of the food, the +speed of the game (which is used to determine the time that elapses between each movement of the snake), the status of +the game (whether the game is ongoing or the player has won or lost) and the player's score.

+

This struct contains methods to handle each step of the game, determining the snake's next move and updating the game +state accordingly. It also contains two methods--game_matrix and score_matrix--that output 2D arrays of values +which can be used to display the game state or the player score on the LED matrix (as we will see later).

+
#![allow(unused)]
+fn main() {
+/// Struct to hold game state and associated behaviour
+pub(crate) struct Game {
+    rng: Prng,
+    snake: Snake,
+    food_coords: Coords,
+    speed: u8,
+    pub(crate) status: GameStatus,
+    score: u8
+}
+
+impl Game {
+    pub(crate) fn new(rng_seed: u32) -> Self {
+        let mut rng = Prng::new(rng_seed);
+        let mut tail: FnvIndexSet<Coords, 32> = FnvIndexSet::new();
+        tail.insert(Coords { row: 2, col: 1 }).unwrap();
+        let snake = Snake::new();
+        let food_coords = Coords::random(&mut rng, Some(&snake.coord_set));
+        Self {
+            rng,
+            snake,
+            food_coords,
+            speed: 1,
+            status: GameStatus::Ongoing,
+            score: 0
+        }
+    }
+
+    /// Reset the game state to start a new game.
+    pub(crate) fn reset(&mut self) {
+        self.snake = Snake::new();
+        self.place_food();
+        self.speed = 1;
+        self.status = GameStatus::Ongoing;
+        self.score = 0;
+    }
+
+    /// Randomly place food on the grid.
+    fn place_food(&mut self) -> Coords {
+        let coords = Coords::random(&mut self.rng, Some(&self.snake.coord_set));
+        self.food_coords = coords;
+        coords
+    }
+
+    /// "Wrap around" out of bounds coordinates (eg, coordinates that are off to the
+    /// left of the grid will appear in the rightmost column). Assumes that
+    /// coordinates are out of bounds in one dimension only.
+    fn wraparound(&self, coords: Coords) -> Coords {
+        if coords.row < 0 {
+            Coords { row: 4, ..coords }
+        } else if coords.row >= 5 {
+            Coords { row: 0, ..coords }
+        } else if coords.col < 0 {
+            Coords { col: 4, ..coords }
+        } else {
+            Coords { col: 0, ..coords }
+        }
+    }
+
+    /// Determine the next tile that the snake will move on to (without actually
+    /// moving the snake).
+    fn get_next_move(&self) -> Coords {
+        let head = &self.snake.head;
+        let next_move = match self.snake.direction {
+            Direction::Up => Coords { row: head.row - 1, col: head.col },
+            Direction::Down => Coords { row: head.row + 1, col: head.col },
+            Direction::Left => Coords { row: head.row, col: head.col - 1 },
+            Direction::Right => Coords { row: head.row, col: head.col + 1 },
+        };
+        if next_move.is_out_of_bounds() {
+            self.wraparound(next_move)
+        } else {
+            next_move
+        }
+    }
+
+    /// Assess the snake's next move and return the outcome. Doesn't actually update
+    /// the game state.
+    fn get_step_outcome(&self) -> StepOutcome {
+        let next_move = self.get_next_move();
+        if self.snake.coord_set.contains(&next_move) {
+            // We haven't moved the snake yet, so if the next move is at the end of
+            // the tail, there won't actually be any collision (as the tail will have
+            // moved by the time the head moves onto the tile)
+            if next_move != *self.snake.tail.peek().unwrap() {
+                StepOutcome::Collision(next_move)
+            } else {
+                StepOutcome::Move(next_move)
+            }
+        } else if next_move == self.food_coords {
+            if self.snake.tail.len() == 23 {
+                StepOutcome::Full(next_move)
+            } else {
+                StepOutcome::Eat(next_move)
+            }
+        } else {
+            StepOutcome::Move(next_move)
+        }
+    }
+
+    /// Handle the outcome of a step, updating the game's internal state.
+    fn handle_step_outcome(&mut self, outcome: StepOutcome) {
+        self.status = match outcome {
+            StepOutcome::Collision(_) => GameStatus::Lost,
+            StepOutcome::Full(_) => GameStatus::Won,
+            StepOutcome::Eat(c) => {
+                self.snake.move_snake(c, true);
+                self.place_food();
+                self.score += 1;
+                if self.score % 5 == 0 {
+                    self.speed += 1
+                }
+                GameStatus::Ongoing
+            },
+            StepOutcome::Move(c) => {
+                self.snake.move_snake(c, false);
+                GameStatus::Ongoing
+            }
+        }
+    }
+
+    pub(crate) fn step(&mut self, turn: Turn) {
+        self.snake.turn(turn);
+        let outcome = self.get_step_outcome();
+        self.handle_step_outcome(outcome);
+    }
+
+    /// Calculate the length of time to wait between game steps, in milliseconds.
+    /// Generally this will get lower as the player's score increases, but need to
+    /// be careful it cannot result in a value below zero.
+    pub(crate) fn step_len_ms(&self) -> u32 {
+        let result = 1000 - (200 * ((self.speed as i32) - 1));
+        if result < 200 {
+            200u32
+        } else {
+            result as u32
+        }
+    }
+
+    /// Return an array representing the game state, which can be used to display the
+    /// state on the microbit's LED matrix. Each `_brightness` parameter should be a
+    /// value between 0 and 9.
+    pub(crate) fn game_matrix(
+        &self,
+        head_brightness: u8,
+        tail_brightness: u8,
+        food_brightness: u8
+    ) -> [[u8; 5]; 5] {
+        let mut values = [[0u8; 5]; 5];
+        values[self.snake.head.row as usize][self.snake.head.col as usize] = head_brightness;
+        for t in &self.snake.tail {
+            values[t.row as usize][t.col as usize] = tail_brightness
+        }
+        values[self.food_coords.row as usize][self.food_coords.col as usize] = food_brightness;
+        values
+    }
+
+    /// Return an array representing the game score, which can be used to display the
+    /// score on the microbit's LED matrix (by illuminating the equivalent number of
+    /// LEDs, going left->right and top->bottom).
+    pub(crate) fn score_matrix(&self) -> [[u8; 5]; 5] {
+        let mut values = [[0u8; 5]; 5];
+        let full_rows = (self.score as usize) / 5;
+        for r in 0..full_rows {
+            values[r] = [1; 5];
+        }
+        for c in 0..(self.score as usize) % 5 {
+            values[full_rows][c] = 1;
+        }
+        values
+    }
+}
+}
+

The main file

+

The following code should be placed in our main.rs file.

+
#![no_main]
+#![no_std]
+
+mod game;
+
+use cortex_m_rt::entry;
+use microbit::{
+   Board,
+   hal::{prelude::*, Rng, Timer},
+   display::blocking::Display
+};
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use crate::game::{Game, GameStatus, Turn};
+
+#[entry]
+fn main() -> ! {
+   rtt_init_print!();
+   let mut board = Board::take().unwrap();
+   let mut timer = Timer::new(board.TIMER0);
+   let mut rng = Rng::new(board.RNG);
+   let mut game = Game::new(rng.random_u32());
+   let mut display = Display::new(board.display_pins);
+
+   loop {
+      loop {  // Game loop
+         let image = game.game_matrix(9, 9, 9);
+         // The brightness values are meaningless at the moment as we haven't yet
+         // implemented a display capable of displaying different brightnesses
+         display.show(&mut timer, image, game.step_len_ms());
+         match game.status {
+            GameStatus::Ongoing => game.step(Turn::None), // Placeholder as we
+                                                          // haven't implemented
+                                                          // controls yet
+            _ => {
+               for _ in 0..3 {
+                  display.clear();
+                  timer.delay_ms(200u32);
+                  display.show(&mut timer, image, 200);
+               }
+               display.clear();
+               display.show(&mut timer, game.score_matrix(), 1000);
+               break
+            }
+         }
+      }
+      game.reset();
+   }
+}
+

After initialising the board and its timer and RNG peripherals, we initialise a Game struct and a Display from the +microbit::display::blocking module.

+

In our "game loop" (which runs inside of the "main loop" we place in our main function), we repeatedly perform the +following steps:

+
    +
  1. Get a 5x5 array of bytes representing the grid. The Game::get_matrix method takes three integer arguments (which +should be between 0 and 9, inclusive) which will, eventually, represent how brightly the head, tail and food should be +displayed. The basic Display we are using at this point does not support variable brightness, so we just provide +values of 9 for each (but any non-zero value would work) at this stage.
  2. +
  3. Display the matrix, for an amount of time determined by the Game::step_len_ms method. As currently implemented, +this method basically provides for 1 second between steps, reducing by 200ms every time the player scores 5 points +(eating 1 piece of food = 1 point), subject to a floor of 200ms.
  4. +
  5. Check the game status. If it is Ongoing (which is its initial value), run a step of the game and update the game +state (including its status property). Otherwise, the game is over, so flash the current image three times, then +show the player's score (represented as a number of illuminated LEDs corresponding to the score), and exit the game +loop.
  6. +
+

Our main loop just runs the game loop repeatedly, resetting the game's state after each iteration.

+

If you run this, you should see two LEDs illuminated halfway down the display (the snake's head in the middle and its +tail to the left). You will also see another LED illuminated somewhere on the board, representing the snake's food. +Approximately each second, the snake will move one space to the right.

+

Next we will add an ability to control the snake's movements.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/11-snake-game/index.html b/microbit/11-snake-game/index.html new file mode 100644 index 000000000..51d6f66fd --- /dev/null +++ b/microbit/11-snake-game/index.html @@ -0,0 +1,249 @@ + + + + + + Snake game - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Snake game

+

We're now going to implement a basic snake game that you can play on a micro:bit v2 using its 5x5 LED matrix as a +display and its two buttons as controls. In doing so, we will build on some of the concepts covered in the earlier +chapters of this book, and also learn about some new peripherals and concepts.

+

In particular, we will be using the concept of hardware interrupts to allow our program to interact with multiple +peripherals at once. Interrupts are a common way to implement concurrency in embedded contexts. There is a good +introduction to concurrency in an embedded context in the Embedded Rust Book that I suggest you read through +before proceeding.

+
+

NOTE This chapter has been developed for the micro:bit v2 only, not the v1. Contributions to port the code to the +v1 are welcome.

+
+
+

NOTE In this chapter, we are going to use later versions of certain libraries that have been used in previous +chapters. We are going to use version 0.13.0 of the microbit library (the preceding chapters have used 0.12.0). +Version 0.13.0 fixes a couple of bugs in the non-blocking display code that we will be using. We are also going to use +version 0.8.0 of the heapless library (previous chapters used version 0.7.10), which allows us to use certain of its +data structures with structs that implement Rust's core::Hash trait.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/11-snake-game/memory.x b/microbit/11-snake-game/memory.x new file mode 100644 index 000000000..9e2ab65f6 --- /dev/null +++ b/microbit/11-snake-game/memory.x @@ -0,0 +1,6 @@ +MEMORY +{ + /* NOTE K = KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 16K +} diff --git a/microbit/11-snake-game/nonblocking-display.html b/microbit/11-snake-game/nonblocking-display.html new file mode 100644 index 000000000..2b271d436 --- /dev/null +++ b/microbit/11-snake-game/nonblocking-display.html @@ -0,0 +1,375 @@ + + + + + + Non-blocking display - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Using the non-blocking display

+

We now have a basic functioning snake game. But you might find that when the snake gets a bit longer, it can be +difficult to tell the snake from the food, and to tell which direction the snake is heading, because all LEDs are the +same brightness. Let's fix that.

+

The microbit library makes available two different interfaces to the LED matrix: a basic, blocking interface, which +we have been using, and a non-blocking interface which allows you to customise the brightness of each LED. At the +hardware level, each LED is either "on" or "off", but the microbit::display::nonblocking module simulates ten levels +of brightness for each LED by rapidly switching the LED on and off.

+

The code to interact with the non-blocking interface is pretty simple and will follow a similar structure to the code we +used to interact with the buttons.

+
#![allow(unused)]
+fn main() {
+use core::cell::RefCell;
+use cortex_m::interrupt::{free, Mutex};
+use microbit::display::nonblocking::Display;
+use microbit::gpio::DisplayPins;
+use microbit::pac;
+use microbit::pac::TIMER1;
+
+static DISPLAY: Mutex<RefCell<Option<Display<TIMER1>>>> = Mutex::new(RefCell::new(None));
+
+pub(crate) fn init_display(board_timer: TIMER1, board_display: DisplayPins) {
+    let display = Display::new(board_timer, board_display);
+
+    free(move |cs| {
+        *DISPLAY.borrow(cs).borrow_mut() = Some(display);
+    });
+    unsafe {
+        pac::NVIC::unmask(pac::Interrupt::TIMER1)
+    }
+}
+}
+

First, we initialise a microbit::display::nonblocking::Display struct representing the LED display, passing it the +board's TIMER1 and DisplayPins peripherals. Then we store the display in a Mutex. Finally, we unmask the TIMER1 +interrupt.

+

We then define a couple of convenience functions which allow us to easily set (or unset) the image to be displayed.

+
#![allow(unused)]
+fn main() {
+use tiny_led_matrix::Render;
+
+// ...
+
+/// Display an image.
+pub(crate) fn display_image(image: &impl Render) {
+    free(|cs| {
+        if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() {
+            display.show(image);
+        }
+    })
+}
+
+/// Clear the display (turn off all LEDs).
+pub(crate) fn clear_display() {
+    free(|cs| {
+        if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() {
+            display.clear();
+        }
+    })
+}
+}
+

display_image takes an image and tells the display to show it. Like the Display::show method that it calls, this +function takes a struct that implements the tiny_led_matrix::Render trait. That trait ensures that the struct contains +the data and methods necessary for the Display to render it on the LED matrix. The two implementations of Render +provided by the microbit::display::nonblocking module are BitImage and GreyscaleImage. In a BitImage, each +"pixel" (or LED) is either illuminated or not (like when we used the blocking interface), whereas in a +GreyscaleImage each "pixel" can have a different brightness.

+

clear_display does exactly as the name suggests.

+

Finally, we use the interrupt macro to define a handler for the TIMER1 interrupt. This interrupt fires many times a +second, and this is what allows the Display to rapidly cycle the different LEDs on and off to give the illusion of +varying brightness levels. All our handler code does is call the Display::handle_display_event method, which handles +this.

+
#![allow(unused)]
+fn main() {
+use microbit::pac::interrupt;
+
+// ...
+
+#[interrupt]
+fn TIMER1() {
+    free(|cs| {
+        if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() {
+            display.handle_display_event();
+        }
+    })
+}
+}
+

Now we just need to update our main function to call init_display and use the new functions we have defined to +interact with our fancy new display.

+
#![no_main]
+#![no_std]
+
+mod game;
+mod control;
+mod display;
+
+use cortex_m_rt::entry;
+use microbit::{
+    Board,
+    hal::{prelude::*, Rng, Timer},
+    display::nonblocking::{BitImage, GreyscaleImage}
+};
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+use crate::control::{get_turn, init_buttons};
+use crate::display::{clear_display, display_image, init_display};
+use crate::game::{Game, GameStatus};
+
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0).into_periodic();
+    let mut rng = Rng::new(board.RNG);
+    let mut game = Game::new(rng.random_u32());
+
+    init_buttons(board.GPIOTE, board.buttons);
+    init_display(board.TIMER1, board.display_pins);
+
+
+    loop {
+        loop {  // Game loop
+            let image = GreyscaleImage::new(&game.game_matrix(6, 3, 9));
+            display_image(&image);
+            timer.delay_ms(game.step_len_ms());
+            match game.status {
+                GameStatus::Ongoing => game.step(get_turn(true)),
+                _ => {
+                    for _ in 0..3 {
+                        clear_display();
+                        timer.delay_ms(200u32);
+                        display_image(&image);
+                        timer.delay_ms(200u32);
+                    }
+                    clear_display();
+                    display_image(&BitImage::new(&game.score_matrix()));
+                    timer.delay_ms(2000u32);
+                    break
+                }
+            }
+        }
+        game.reset();
+    }
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/11-snake-game/src/control.rs b/microbit/11-snake-game/src/control.rs new file mode 100644 index 000000000..7e1cf69dd --- /dev/null +++ b/microbit/11-snake-game/src/control.rs @@ -0,0 +1,70 @@ +use core::cell::RefCell; +use cortex_m::interrupt::{free, Mutex}; +use microbit::{ + board::Buttons, + hal::gpiote::Gpiote, + pac::{self, interrupt} +}; +use crate::game::Turn; +static GPIO: Mutex>> = Mutex::new(RefCell::new(None)); +static TURN: Mutex> = Mutex::new(RefCell::new(Turn::None)); + +/// Initialise the buttons and enable interrupts. +pub(crate) fn init_buttons(board_gpiote: pac::GPIOTE, board_buttons: Buttons) { + let gpiote = Gpiote::new(board_gpiote); + + let channel0 = gpiote.channel0(); + channel0 + .input_pin(&board_buttons.button_a.degrade()) + .hi_to_lo() + .enable_interrupt(); + channel0.reset_events(); + + let channel1 = gpiote.channel1(); + channel1 + .input_pin(&board_buttons.button_b.degrade()) + .hi_to_lo() + .enable_interrupt(); + channel1.reset_events(); + + free(move |cs| { + *GPIO.borrow(cs).borrow_mut() = Some(gpiote); + + unsafe { + pac::NVIC::unmask(pac::Interrupt::GPIOTE); + } + pac::NVIC::unpend(pac::Interrupt::GPIOTE); + }); +} + +/// Get the next turn (ie, the turn corresponding to the most recently pressed button). +pub fn get_turn(reset: bool) -> Turn { + free(|cs| { + let turn = *TURN.borrow(cs).borrow(); + if reset { + *TURN.borrow(cs).borrow_mut() = Turn::None + } + turn + }) +} + +#[pac::interrupt] +fn GPIOTE() { + free(|cs| { + if let Some(gpiote) = GPIO.borrow(cs).borrow().as_ref() { + let a_pressed = gpiote.channel0().is_event_triggered(); + let b_pressed = gpiote.channel1().is_event_triggered(); + + let turn = match (a_pressed, b_pressed) { + (true, false) => Turn::Left, + (false, true) => Turn::Right, + _ => Turn::None + }; + + gpiote.channel0().reset_events(); + gpiote.channel1().reset_events(); + + *TURN.borrow(cs).borrow_mut() = turn; + } + }); +} \ No newline at end of file diff --git a/microbit/11-snake-game/src/display.rs b/microbit/11-snake-game/src/display.rs new file mode 100644 index 000000000..a608f7fb4 --- /dev/null +++ b/microbit/11-snake-game/src/display.rs @@ -0,0 +1,47 @@ +use core::cell::RefCell; +use cortex_m::interrupt::{free, Mutex}; +use microbit::display::nonblocking::Display; +use microbit::gpio::DisplayPins; +use microbit::pac; +use microbit::pac::{interrupt, TIMER1}; +use tiny_led_matrix::Render; + +static DISPLAY: Mutex>>> = Mutex::new(RefCell::new(None)); + +pub(crate) fn init_display(board_timer: TIMER1, board_display: DisplayPins) { + let display = Display::new(board_timer, board_display); + + free(move |cs| { + *DISPLAY.borrow(cs).borrow_mut() = Some(display); + }); + unsafe { + pac::NVIC::unmask(pac::Interrupt::TIMER1) + } +} + +/// Display an image. +pub(crate) fn display_image(image: &impl Render) { + free(|cs| { + if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { + display.show(image); + } + }) +} + +/// Clear the display (turn off all LEDs). +pub(crate) fn clear_display() { + free(|cs| { + if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { + display.clear(); + } + }) +} + +#[interrupt] +fn TIMER1() { + free(|cs| { + if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { + display.handle_display_event(); + } + }) +} \ No newline at end of file diff --git a/microbit/11-snake-game/src/game.rs b/microbit/11-snake-game/src/game.rs new file mode 100644 index 000000000..5013cebcc --- /dev/null +++ b/microbit/11-snake-game/src/game.rs @@ -0,0 +1,338 @@ +// Imports we will use later on +use heapless::FnvIndexSet; +use heapless::spsc::Queue; + +/// A basic pseudo-random number generator. +struct Prng { + value: u32 +} + +impl Prng { + fn new(seed: u32) -> Self { + Self {value: seed} + } + + /// Basic xorshift PRNG function: see https://en.wikipedia.org/wiki/Xorshift + fn xorshift32(mut input: u32) -> u32 { + input ^= input << 13; + input ^= input >> 17; + input ^= input << 5; + input + } + + /// Return a pseudo-random u32. + fn random_u32(&mut self) -> u32 { + self.value = Self::xorshift32(self.value); + self.value + } +} + +/// A single point on the grid. +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] +struct Coords { + // Signed ints to allow negative values (handy when checking if we have gone off the top or left + // of the grid) + row: i8, + col: i8 +} + +impl Coords { + /// Get random coordinates within a grid. `exclude` is an optional set of coordinates which + /// should be excluded from the output. + fn random( + rng: &mut Prng, + exclude: Option<&FnvIndexSet> + ) -> Self { + let mut coords = Coords { + row: ((rng.random_u32() as usize) % 5) as i8, + col: ((rng.random_u32() as usize) % 5) as i8 + }; + while exclude.is_some_and(|exc| exc.contains(&coords)) { + coords = Coords { + row: ((rng.random_u32() as usize) % 5) as i8, + col: ((rng.random_u32() as usize) % 5) as i8 + } + } + coords + } + + /// Whether the point is outside the bounds of the grid. + fn is_out_of_bounds(&self) -> bool { + self.row < 0 || self.row >= 5 || self.col < 0 || self.col >= 5 + } +} + +/// Define the directions the snake can move. +enum Direction { + Up, + Down, + Left, + Right +} + +/// What direction the snake should turn. +#[derive(Debug, Copy, Clone)] +pub enum Turn { + Left, + Right, + None +} + +/// The current status of the game. +pub enum GameStatus { + Won, + Lost, + Ongoing +} + +/// The outcome of a single move/step. +enum StepOutcome { + /// Grid full (player wins) + Full(Coords), + /// Snake has collided with itself (player loses) + Collision(Coords), + /// Snake has eaten some food + Eat(Coords), + /// Snake has moved (and nothing else has happened) + Move(Coords) +} + +struct Snake { + /// Coordinates of the snake's head. + head: Coords, + /// Queue of coordinates of the rest of the snake's body. The end of the tail is at the front. + tail: Queue, + /// A set containing all coordinates currently occupied by the snake (for fast collision + /// checking). + coord_set: FnvIndexSet, + /// The direction the snake is currently moving in. + direction: Direction +} + +impl Snake { + fn new() -> Self { + let head = Coords { row: 2, col: 2 }; + let initial_tail = Coords { row: 2, col: 1 }; + let mut tail = Queue::new(); + tail.enqueue(initial_tail).unwrap(); + let mut coord_set: FnvIndexSet = FnvIndexSet::new(); + coord_set.insert(head).unwrap(); + coord_set.insert(initial_tail).unwrap(); + Self { + head, + tail, + coord_set, + direction: Direction::Right, + } + } + + /// Move the snake onto the given coordinates. If `extend` is false, the snake's tail vacates + /// the rearmost tile. + fn move_snake(&mut self, coords: Coords, extend: bool) { + // Location of head becomes front of tail + self.tail.enqueue(self.head).unwrap(); + // Head moves to new coords + self.head = coords; + self.coord_set.insert(coords).unwrap(); + if !extend { + let back = self.tail.dequeue().unwrap(); + self.coord_set.remove(&back); + } + } + + fn turn_right(&mut self) { + self.direction = match self.direction { + Direction::Up => Direction::Right, + Direction::Down => Direction::Left, + Direction::Left => Direction::Up, + Direction::Right => Direction::Down + } + } + + fn turn_left(&mut self) { + self.direction = match self.direction { + Direction::Up => Direction::Left, + Direction::Down => Direction::Right, + Direction::Left => Direction::Down, + Direction::Right => Direction::Up + } + } + + fn turn(&mut self, direction: Turn) { + match direction { + Turn::Left => self.turn_left(), + Turn::Right => self.turn_right(), + Turn::None => () + } + } +} + +/// Struct to hold game state and associated behaviour +pub(crate) struct Game { + rng: Prng, + snake: Snake, + food_coords: Coords, + speed: u8, + pub(crate) status: GameStatus, + score: u8 +} + +impl Game { + + pub(crate) fn new(rng_seed: u32) -> Self { + let mut rng = Prng::new(rng_seed); + let mut tail: FnvIndexSet = FnvIndexSet::new(); + tail.insert(Coords { row: 2, col: 1 }).unwrap(); + let snake = Snake::new(); + let food_coords = Coords::random(&mut rng, Some(&snake.coord_set)); + Self { + rng, + snake, + food_coords, + speed: 1, + status: GameStatus::Ongoing, + score: 0 + } + } + + /// Reset the game state to start a new game. + pub(crate) fn reset(&mut self) { + self.snake = Snake::new(); + self.place_food(); + self.speed = 1; + self.status = GameStatus::Ongoing; + self.score = 0; + } + + /// Randomly place food on the grid. + fn place_food(&mut self) -> Coords { + let coords = Coords::random(&mut self.rng, Some(&self.snake.coord_set)); + self.food_coords = coords; + coords + } + + /// "Wrap around" out of bounds coordinates (eg, coordinates that are off to the left of the + /// grid will appear in the rightmost column). Assumes that coordinates are out of bounds in one + /// dimension only. + fn wraparound(&self, coords: Coords) -> Coords { + if coords.row < 0 { + Coords { row: 4, ..coords } + } else if coords.row >= 5 { + Coords { row: 0, ..coords } + } else if coords.col < 0 { + Coords { col: 4, ..coords } + } else { + Coords { col: 0, ..coords } + } + } + + /// Determine the next tile that the snake will move on to (without actually moving the snake). + fn get_next_move(&self) -> Coords { + let head = &self.snake.head; + let next_move = match self.snake.direction { + Direction::Up => Coords { row: head.row - 1, col: head.col }, + Direction::Down => Coords { row: head.row + 1, col: head.col }, + Direction::Left => Coords { row: head.row, col: head.col - 1 }, + Direction::Right => Coords { row: head.row, col: head.col + 1 }, + }; + if next_move.is_out_of_bounds() { + self.wraparound(next_move) + } else { + next_move + } + } + + /// Assess the snake's next move and return the outcome. Doesn't actually update the game state. + fn get_step_outcome(&self) -> StepOutcome { + let next_move = self.get_next_move(); + if self.snake.coord_set.contains(&next_move) { + // We haven't moved the snake yet, so if the next move is at the end of the tail, there + // won't actually be any collision (as the tail will have moved by the time the head + // moves onto the tile) + if next_move != *self.snake.tail.peek().unwrap() { + StepOutcome::Collision(next_move) + } else { + StepOutcome::Move(next_move) + } + } else if next_move == self.food_coords { + if self.snake.tail.len() == 23 { + StepOutcome::Full(next_move) + } else { + StepOutcome::Eat(next_move) + } + } else { + StepOutcome::Move(next_move) + } + } + + /// Handle the outcome of a step, updating the game's internal state. + fn handle_step_outcome(&mut self, outcome: StepOutcome) { + self.status = match outcome { + StepOutcome::Collision(_) => GameStatus::Lost, + StepOutcome::Full(_) => GameStatus::Won, + StepOutcome::Eat(c) => { + self.snake.move_snake(c, true); + self.place_food(); + self.score += 1; + if self.score % 5 == 0 { + self.speed += 1 + } + GameStatus::Ongoing + }, + StepOutcome::Move(c) => { + self.snake.move_snake(c, false); + GameStatus::Ongoing + } + } + } + + pub(crate) fn step(&mut self, turn: Turn) { + self.snake.turn(turn); + let outcome = self.get_step_outcome(); + self.handle_step_outcome(outcome); + } + + /// Calculate the length of time to wait between game steps, in milliseconds. Generally this + /// will get lower as the player's score increases, but need to be careful it cannot result in a + /// value below zero. + pub(crate) fn step_len_ms(&self) -> u32 { + let result = 1000 - (200 * ((self.speed as i32) - 1)); + if result < 200 { + 200u32 + } else { + result as u32 + } + } + + /// Return an array representing the game state, which can be used to display the state on the + /// microbit's LED matrix. Each `_brightness` parameter should be a value between 0 and 9. + pub(crate) fn game_matrix( + &self, + head_brightness: u8, + tail_brightness: u8, + food_brightness: u8 + ) -> [[u8; 5]; 5] { + let mut values = [[0u8; 5]; 5]; + values[self.snake.head.row as usize][self.snake.head.col as usize] = head_brightness; + for t in &self.snake.tail { + values[t.row as usize][t.col as usize] = tail_brightness + } + values[self.food_coords.row as usize][self.food_coords.col as usize] = food_brightness; + values + } + + /// Return an array representing the game score, which can be used to display the score on the + /// microbit's LED matrix (by illuminating the equivalent number of LEDs, going left->right and + /// top->bottom). + pub(crate) fn score_matrix(&self) -> [[u8; 5]; 5] { + let mut values = [[0u8; 5]; 5]; + let full_rows = (self.score as usize) / 5; + for r in 0..full_rows { + values[r] = [1; 5]; + } + for c in 0..(self.score as usize) % 5 { + values[full_rows][c] = 1; + } + values + } +} \ No newline at end of file diff --git a/microbit/11-snake-game/src/main.rs b/microbit/11-snake-game/src/main.rs new file mode 100644 index 000000000..7f6cebf55 --- /dev/null +++ b/microbit/11-snake-game/src/main.rs @@ -0,0 +1,57 @@ +#![no_main] +#![no_std] + +mod game; +mod control; +mod display; + +use cortex_m_rt::entry; +use microbit::{ + Board, + hal::{prelude::*, Rng, Timer}, + display::nonblocking::{BitImage, GreyscaleImage} +}; +use rtt_target::rtt_init_print; +use panic_rtt_target as _; + +use crate::control::{get_turn, init_buttons}; +use crate::display::{clear_display, display_image, init_display}; +use crate::game::{Game, GameStatus}; + + +#[entry] +fn main() -> ! { + rtt_init_print!(); + let mut board = Board::take().unwrap(); + let mut timer = Timer::new(board.TIMER0).into_periodic(); + let mut rng = Rng::new(board.RNG); + let mut game = Game::new(rng.random_u32()); + + init_buttons(board.GPIOTE, board.buttons); + init_display(board.TIMER1, board.display_pins); + + + loop { + loop { // Game loop + let image = GreyscaleImage::new(&game.game_matrix(6, 3, 9)); + display_image(&image); + timer.delay_ms(game.step_len_ms()); + match game.status { + GameStatus::Ongoing => game.step(get_turn(true)), + _ => { + for _ in 0..3 { + clear_display(); + timer.delay_ms(200u32); + display_image(&image); + timer.delay_ms(200u32); + } + clear_display(); + display_image(&BitImage::new(&game.score_matrix())); + timer.delay_ms(2000u32); + break + } + } + } + game.reset(); + } +} diff --git a/microbit/11-snake-game/src/main_controls.rs b/microbit/11-snake-game/src/main_controls.rs new file mode 100644 index 000000000..6aae21a5e --- /dev/null +++ b/microbit/11-snake-game/src/main_controls.rs @@ -0,0 +1,53 @@ +#![no_main] +#![no_std] + +mod game; +mod control; + +use cortex_m_rt::entry; +use microbit::{ + Board, + hal::{prelude::*, Rng, Timer}, + display::blocking::Display +}; +use rtt_target::rtt_init_print; +use panic_rtt_target as _; + +use crate::game::{Game, GameStatus}; +use crate::control::{init_buttons, get_turn}; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + let mut board = Board::take().unwrap(); + let mut timer = Timer::new(board.TIMER0); + let mut rng = Rng::new(board.RNG); + let mut game = Game::new(rng.random_u32()); + + let mut display = Display::new(board.display_pins); + + init_buttons(board.GPIOTE, board.buttons); + + loop { + loop { // Game loop + let image = game.game_matrix(9, 9, 9); + // The brightness values are meaningless at the moment as we haven't yet implemented a display capable of + // displaying different brightnesses + display.show(&mut timer, image, game.step_len_ms()); + match game.status { + GameStatus::Ongoing => game.step(get_turn(true)), + _ => { + for _ in 0..3 { + display.clear(); + timer.delay_ms(200u32); + display.show(&mut timer, image, 200); + } + display.clear(); + display.show(&mut timer, game.score_matrix(), 1000); + break + } + } + } + game.reset(); + } +} \ No newline at end of file diff --git a/microbit/11-snake-game/src/main_take_1.rs b/microbit/11-snake-game/src/main_take_1.rs new file mode 100644 index 000000000..2e0ac50d7 --- /dev/null +++ b/microbit/11-snake-game/src/main_take_1.rs @@ -0,0 +1,47 @@ +#![no_main] +#![no_std] + +mod game; + +use cortex_m_rt::entry; +use microbit::{ + Board, + hal::{prelude::*, Rng, Timer}, + display::blocking::Display +}; +use rtt_target::rtt_init_print; +use panic_rtt_target as _; +use crate::game::{Game, GameStatus, Turn}; + +#[entry] +fn main() -> ! { + rtt_init_print!(); + let mut board = Board::take().unwrap(); + let mut timer = Timer::new(board.TIMER0); + let mut rng = Rng::new(board.RNG); + let mut game = Game::new(rng.random_u32()); + let mut display = Display::new(board.display_pins); + + loop { + loop { // Game loop + let image = game.game_matrix(9, 9, 9); + // The brightness values are meaningless at the moment as we haven't yet implemented a display capable of + // displaying different brightnesses + display.show(&mut timer, image, game.step_len_ms()); + match game.status { + GameStatus::Ongoing => game.step(Turn::None), // Placeholder as we haven't implemented controls yet + _ => { + for _ in 0..3 { + display.clear(); + timer.delay_ms(200u32); + display.show(&mut timer, image, 200); + } + display.clear(); + display.show(&mut timer, game.score_matrix(), 1000); + break + } + } + } + game.reset(); + } +} diff --git a/microbit/404.html b/microbit/404.html new file mode 100644 index 000000000..153f15177 --- /dev/null +++ b/microbit/404.html @@ -0,0 +1,221 @@ + + + + + + Page not found - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Document not found (404)

+

This URL is invalid, sorry. Please use the navigation bar or search to continue.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/FontAwesome/css/font-awesome.css b/microbit/FontAwesome/css/font-awesome.css new file mode 100644 index 000000000..540440ce8 --- /dev/null +++ b/microbit/FontAwesome/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/microbit/FontAwesome/fonts/FontAwesome.ttf b/microbit/FontAwesome/fonts/FontAwesome.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/microbit/FontAwesome/fonts/FontAwesome.ttf differ diff --git a/microbit/FontAwesome/fonts/fontawesome-webfont.eot b/microbit/FontAwesome/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/microbit/FontAwesome/fonts/fontawesome-webfont.eot differ diff --git a/microbit/FontAwesome/fonts/fontawesome-webfont.svg b/microbit/FontAwesome/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/microbit/FontAwesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/microbit/FontAwesome/fonts/fontawesome-webfont.ttf b/microbit/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/microbit/FontAwesome/fonts/fontawesome-webfont.ttf differ diff --git a/microbit/FontAwesome/fonts/fontawesome-webfont.woff b/microbit/FontAwesome/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/microbit/FontAwesome/fonts/fontawesome-webfont.woff differ diff --git a/microbit/FontAwesome/fonts/fontawesome-webfont.woff2 b/microbit/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/microbit/FontAwesome/fonts/fontawesome-webfont.woff2 differ diff --git a/microbit/appendix/1-general-troubleshooting/index.html b/microbit/appendix/1-general-troubleshooting/index.html new file mode 100644 index 000000000..3ddeea81f --- /dev/null +++ b/microbit/appendix/1-general-troubleshooting/index.html @@ -0,0 +1,273 @@ + + + + + + General troubleshooting - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

General troubleshooting

+

cargo-embed problems

+

Most cargo-embed problems are either related to not having installed the udev +rules properly (on Linux) or having selected the wrong chip configuration in Embed.toml so +make sure you got both of those right.

+

If the above does not work out for you, you can open an issue in the discovery issue tracker. +Alternatively you can also visit the Rust Embedded matrix channel or the probe-rs matrix channel +and ask for help there.

+

Cargo problems

+

"can't find crate for core"

+

Symptoms

+
   Compiling volatile-register v0.1.2
+   Compiling rlibc v1.0.0
+   Compiling r0 v0.1.0
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+Build failed, waiting for other jobs to finish...
+Build failed, waiting for other jobs to finish...
+error: Could not compile `r0`.
+
+To learn more, run the command again with --verbose.
+
+

Cause

+

You forgot to install the proper target for your microcontroller (thumbv7em-none-eabihf for v2 +and thumbv6m-none-eabi for v1).

+

Fix

+

Install the proper target.

+
# micro:bit v2
+$ rustup target add thumbv7em-none-eabihf
+
+# micro:bit v1
+$ rustup target add thumbv6m-none-eabi
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/appendix/2-how-to-use-gdb/index.html b/microbit/appendix/2-how-to-use-gdb/index.html new file mode 100644 index 000000000..937b5bcc9 --- /dev/null +++ b/microbit/appendix/2-how-to-use-gdb/index.html @@ -0,0 +1,355 @@ + + + + + + How to use GDB - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

How to use GDB

+

Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached GDB to a cargo-embed session.

+

General Debugging

+
+

NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!

+
+

Dealing with Breakpoints

+
    +
  • break $location: Set a breakpoint at a place in your code. The value of $location can include: +
      +
    • break *main - Break on the exact address of the function main
    • +
    • break *0x080012f2 - Break on the exact memory location 0x080012f2
    • +
    • break 123 - Break on line 123 of the currently displayed file
    • +
    • break main.rs:123 - Break on line 123 of the file main.rs
    • +
    +
  • +
  • info break: Display current breakpoints
  • +
  • delete: Delete all breakpoints +
      +
    • delete $n: Delete breakpoint $n (n being a number. For example: delete $2)
    • +
    +
  • +
  • clear: Delete breakpoint at next instruction +
      +
    • clear main.rs:$function: Delete breakpoint at entry of $function in main.rs
    • +
    • clear main.rs:123: Delete breakpoint on line 123 of main.rs
    • +
    +
  • +
  • enable: Enable all set breakpoints +
      +
    • enable $n: Enable breakpoint $n
    • +
    +
  • +
  • disable: Disable all set breakpoints +
      +
    • disable $n: Disable breakpoint $n
    • +
    +
  • +
+

Controlling Execution

+
    +
  • continue: Begin or continue execution of your program
  • +
  • next: Execute the next line of your program +
      +
    • next $n: Repeat next $n number times
    • +
    +
  • +
  • nexti: Same as next but with machine instructions instead
  • +
  • step: Execute the next line, if the next line includes a call to another function, step into that code +
      +
    • step $n: Repeat step $n number times
    • +
    +
  • +
  • stepi: Same as step but with machine instructions instead
  • +
  • jump $location: Resume execution at specified location: +
      +
    • jump 123: Resume execution at line 123
    • +
    • jump 0x080012f2: Resume execution at address 0x080012f2
    • +
    +
  • +
+

Printing Information

+
    +
  • print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: +
    x: hexadecimal
    +d: signed decimal
    +u: unsigned decimal
    +o: octal
    +t: binary
    +a: address
    +c: character
    +f: floating point
    +
    +
      +
    • print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010)
    • +
    +
  • +
  • x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, +$u unit size (bytes, halfwords, words, etc.), $f any print format defined above +
      +
    • x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4
    • +
    • x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing
    • +
    +
  • +
  • disassemble $location +
      +
    • disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction
    • +
    +
  • +
+

Looking at the Symbol Table

+
    +
  • info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions +
      +
    • info functions main: Print names and types of defined functions that contain the word main
    • +
    +
  • +
  • info address $symbol: Print where $symbol is stored in memory +
      +
    • info address GPIOC: Print the memory address of the variable GPIOC
    • +
    +
  • +
  • info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables
  • +
  • ptype $data: Print more detailed information about $data +
      +
    • ptype cp: Print detailed type information about the variable cp
    • +
    +
  • +
+

Poking around the Program Stack

+
    +
  • backtrace $n: Print trace of $n frames, or omit $n to print all frames +
      +
    • backtrace 2: Print trace of first 2 frames
    • +
    +
  • +
  • frame $n: Select frame with number or address $n, omit $n to display current frame
  • +
  • up $n: Select frame $n frames up
  • +
  • down $n: Select frame $n frames down
  • +
  • info frame $address: Describe frame at $address, omit $address for currently selected frame
  • +
  • info args: Print arguments of selected frame
  • +
  • info registers $r: Print the value of register $r in selected frame, omit $r for all registers +
      +
    • info registers $sp: Print the value of the stack pointer register $sp in the current frame
    • +
    +
  • +
+

Controlling cargo-embed Remotely

+
    +
  • monitor reset: Reset the CPU, starting execution over again
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/assets/gdb-layout-asm.png b/microbit/assets/gdb-layout-asm.png new file mode 100644 index 000000000..50fa77f9d Binary files /dev/null and b/microbit/assets/gdb-layout-asm.png differ diff --git a/microbit/assets/gdb-layout-src.png b/microbit/assets/gdb-layout-src.png new file mode 100644 index 000000000..45dc23edb Binary files /dev/null and b/microbit/assets/gdb-layout-src.png differ diff --git a/microbit/assets/microbit-v2.jpg b/microbit/assets/microbit-v2.jpg new file mode 100644 index 000000000..a633f330a Binary files /dev/null and b/microbit/assets/microbit-v2.jpg differ diff --git a/microbit/assets/minicom.png b/microbit/assets/minicom.png new file mode 100644 index 000000000..598305b7a Binary files /dev/null and b/microbit/assets/minicom.png differ diff --git a/microbit/assets/putty-console.png b/microbit/assets/putty-console.png new file mode 100644 index 000000000..9e5fa74fd Binary files /dev/null and b/microbit/assets/putty-console.png differ diff --git a/microbit/assets/putty-settings.png b/microbit/assets/putty-settings.png new file mode 100644 index 000000000..0f9259d3d Binary files /dev/null and b/microbit/assets/putty-settings.png differ diff --git a/microbit/assets/quadrants.png b/microbit/assets/quadrants.png new file mode 100644 index 000000000..4d9feab3d Binary files /dev/null and b/microbit/assets/quadrants.png differ diff --git a/microbit/assets/roulette_fast.mp4 b/microbit/assets/roulette_fast.mp4 new file mode 100644 index 000000000..fec3f6c05 Binary files /dev/null and b/microbit/assets/roulette_fast.mp4 differ diff --git a/microbit/assets/roulette_slow.mp4 b/microbit/assets/roulette_slow.mp4 new file mode 100644 index 000000000..a7aae2a19 Binary files /dev/null and b/microbit/assets/roulette_slow.mp4 differ diff --git a/microbit/assets/usb-cable.jpg b/microbit/assets/usb-cable.jpg new file mode 100644 index 000000000..8d22037d8 Binary files /dev/null and b/microbit/assets/usb-cable.jpg differ diff --git a/microbit/ayu-highlight.css b/microbit/ayu-highlight.css new file mode 100644 index 000000000..32c943222 --- /dev/null +++ b/microbit/ayu-highlight.css @@ -0,0 +1,78 @@ +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/microbit/book.js b/microbit/book.js new file mode 100644 index 000000000..aa12e7ecc --- /dev/null +++ b/microbit/book.js @@ -0,0 +1,697 @@ +"use strict"; + +// Fix back button cache problem +window.onunload = function () { }; + +// Global variable, shared between modules +function playground_text(playground, hidden = true) { + let code_block = playground.querySelector("code"); + + if (window.ace && code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + return editor.getValue(); + } else if (hidden) { + return code_block.textContent; + } else { + return code_block.innerText; + } +} + +(function codeSnippets() { + function fetch_with_timeout(url, options, timeout = 6000) { + return Promise.race([ + fetch(url, options), + new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)) + ]); + } + + var playgrounds = Array.from(document.querySelectorAll(".playground")); + if (playgrounds.length > 0) { + fetch_with_timeout("https://play.rust-lang.org/meta/crates", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + }) + .then(response => response.json()) + .then(response => { + // get list of crates available in the rust playground + let playground_crates = response.crates.map(item => item["id"]); + playgrounds.forEach(block => handle_crate_list_update(block, playground_crates)); + }); + } + + function handle_crate_list_update(playground_block, playground_crates) { + // update the play buttons after receiving the response + update_play_button(playground_block, playground_crates); + + // and install on change listener to dynamically update ACE editors + if (window.ace) { + let code_block = playground_block.querySelector("code"); + if (code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + editor.addEventListener("change", function (e) { + update_play_button(playground_block, playground_crates); + }); + // add Ctrl-Enter command to execute rust code + editor.commands.addCommand({ + name: "run", + bindKey: { + win: "Ctrl-Enter", + mac: "Ctrl-Enter" + }, + exec: _editor => run_rust_code(playground_block) + }); + } + } + } + + // updates the visibility of play button based on `no_run` class and + // used crates vs ones available on https://play.rust-lang.org + function update_play_button(pre_block, playground_crates) { + var play_button = pre_block.querySelector(".play-button"); + + // skip if code is `no_run` + if (pre_block.querySelector('code').classList.contains("no_run")) { + play_button.classList.add("hidden"); + return; + } + + // get list of `extern crate`'s from snippet + var txt = playground_text(pre_block); + var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g; + var snippet_crates = []; + var item; + while (item = re.exec(txt)) { + snippet_crates.push(item[1]); + } + + // check if all used crates are available on play.rust-lang.org + var all_available = snippet_crates.every(function (elem) { + return playground_crates.indexOf(elem) > -1; + }); + + if (all_available) { + play_button.classList.remove("hidden"); + } else { + play_button.classList.add("hidden"); + } + } + + function run_rust_code(code_block) { + var result_block = code_block.querySelector(".result"); + if (!result_block) { + result_block = document.createElement('code'); + result_block.className = 'result hljs language-bash'; + + code_block.append(result_block); + } + + let text = playground_text(code_block); + let classes = code_block.querySelector('code').classList; + let edition = "2015"; + if(classes.contains("edition2018")) { + edition = "2018"; + } else if(classes.contains("edition2021")) { + edition = "2021"; + } + var params = { + version: "stable", + optimize: "0", + code: text, + edition: edition + }; + + if (text.indexOf("#![feature") !== -1) { + params.version = "nightly"; + } + + result_block.innerText = "Running..."; + + fetch_with_timeout("https://play.rust-lang.org/evaluate.json", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + body: JSON.stringify(params) + }) + .then(response => response.json()) + .then(response => { + if (response.result.trim() === '') { + result_block.innerText = "No output"; + result_block.classList.add("result-no-output"); + } else { + result_block.innerText = response.result; + result_block.classList.remove("result-no-output"); + } + }) + .catch(error => result_block.innerText = "Playground Communication: " + error.message); + } + + // Syntax highlighting Configuration + hljs.configure({ + tabReplace: ' ', // 4 spaces + languages: [], // Languages used for auto-detection + }); + + let code_nodes = Array + .from(document.querySelectorAll('code')) + // Don't highlight `inline code` blocks in headers. + .filter(function (node) {return !node.parentElement.classList.contains("header"); }); + + if (window.ace) { + // language-rust class needs to be removed for editable + // blocks or highlightjs will capture events + code_nodes + .filter(function (node) {return node.classList.contains("editable"); }) + .forEach(function (block) { block.classList.remove('language-rust'); }); + + code_nodes + .filter(function (node) {return !node.classList.contains("editable"); }) + .forEach(function (block) { hljs.highlightBlock(block); }); + } else { + code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); + } + + // Adding the hljs class gives code blocks the color css + // even if highlighting doesn't apply + code_nodes.forEach(function (block) { block.classList.add('hljs'); }); + + Array.from(document.querySelectorAll("code.hljs")).forEach(function (block) { + + var lines = Array.from(block.querySelectorAll('.boring')); + // If no lines were hidden, return + if (!lines.length) { return; } + block.classList.add("hide-boring"); + + var buttons = document.createElement('div'); + buttons.className = 'buttons'; + buttons.innerHTML = ""; + + // add expand button + var pre_block = block.parentNode; + pre_block.insertBefore(buttons, pre_block.firstChild); + + pre_block.querySelector('.buttons').addEventListener('click', function (e) { + if (e.target.classList.contains('fa-eye')) { + e.target.classList.remove('fa-eye'); + e.target.classList.add('fa-eye-slash'); + e.target.title = 'Hide lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.remove('hide-boring'); + } else if (e.target.classList.contains('fa-eye-slash')) { + e.target.classList.remove('fa-eye-slash'); + e.target.classList.add('fa-eye'); + e.target.title = 'Show hidden lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.add('hide-boring'); + } + }); + }); + + if (window.playground_copyable) { + Array.from(document.querySelectorAll('pre code')).forEach(function (block) { + var pre_block = block.parentNode; + if (!pre_block.classList.contains('playground')) { + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var clipButton = document.createElement('button'); + clipButton.className = 'fa fa-copy clip-button'; + clipButton.title = 'Copy to clipboard'; + clipButton.setAttribute('aria-label', clipButton.title); + clipButton.innerHTML = ''; + + buttons.insertBefore(clipButton, buttons.firstChild); + } + }); + } + + // Process playground code blocks + Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) { + // Add play button + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var runCodeButton = document.createElement('button'); + runCodeButton.className = 'fa fa-play play-button'; + runCodeButton.hidden = true; + runCodeButton.title = 'Run this code'; + runCodeButton.setAttribute('aria-label', runCodeButton.title); + + buttons.insertBefore(runCodeButton, buttons.firstChild); + runCodeButton.addEventListener('click', function (e) { + run_rust_code(pre_block); + }); + + if (window.playground_copyable) { + var copyCodeClipboardButton = document.createElement('button'); + copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.innerHTML = ''; + copyCodeClipboardButton.title = 'Copy to clipboard'; + copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); + + buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); + } + + let code_block = pre_block.querySelector("code"); + if (window.ace && code_block.classList.contains("editable")) { + var undoChangesButton = document.createElement('button'); + undoChangesButton.className = 'fa fa-history reset-button'; + undoChangesButton.title = 'Undo changes'; + undoChangesButton.setAttribute('aria-label', undoChangesButton.title); + + buttons.insertBefore(undoChangesButton, buttons.firstChild); + + undoChangesButton.addEventListener('click', function () { + let editor = window.ace.edit(code_block); + editor.setValue(editor.originalCode); + editor.clearSelection(); + }); + } + }); +})(); + +(function themes() { + var html = document.querySelector('html'); + var themeToggleButton = document.getElementById('theme-toggle'); + var themePopup = document.getElementById('theme-list'); + var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var stylesheets = { + ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), + tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), + highlight: document.querySelector("[href$='highlight.css']"), + }; + + function showThemes() { + themePopup.style.display = 'block'; + themeToggleButton.setAttribute('aria-expanded', true); + themePopup.querySelector("button#" + get_theme()).focus(); + } + + function updateThemeSelected() { + themePopup.querySelectorAll('.theme-selected').forEach(function (el) { + el.classList.remove('theme-selected'); + }); + themePopup.querySelector("button#" + get_theme()).classList.add('theme-selected'); + } + + function hideThemes() { + themePopup.style.display = 'none'; + themeToggleButton.setAttribute('aria-expanded', false); + themeToggleButton.focus(); + } + + function get_theme() { + var theme; + try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { } + if (theme === null || theme === undefined) { + return default_theme; + } else { + return theme; + } + } + + function set_theme(theme, store = true) { + let ace_theme; + + if (theme == 'coal' || theme == 'navy') { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = false; + stylesheets.highlight.disabled = true; + + ace_theme = "ace/theme/tomorrow_night"; + } else if (theme == 'ayu') { + stylesheets.ayuHighlight.disabled = false; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = true; + ace_theme = "ace/theme/tomorrow_night"; + } else { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = false; + ace_theme = "ace/theme/dawn"; + } + + setTimeout(function () { + themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor; + }, 1); + + if (window.ace && window.editors) { + window.editors.forEach(function (editor) { + editor.setTheme(ace_theme); + }); + } + + var previousTheme = get_theme(); + + if (store) { + try { localStorage.setItem('mdbook-theme', theme); } catch (e) { } + } + + html.classList.remove(previousTheme); + html.classList.add(theme); + updateThemeSelected(); + } + + // Set theme + var theme = get_theme(); + + set_theme(theme, false); + + themeToggleButton.addEventListener('click', function () { + if (themePopup.style.display === 'block') { + hideThemes(); + } else { + showThemes(); + } + }); + + themePopup.addEventListener('click', function (e) { + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else if (e.target.parentElement.className === "theme") { + theme = e.target.parentElement.id; + } else { + return; + } + set_theme(theme); + }); + + themePopup.addEventListener('focusout', function(e) { + // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) + if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { + hideThemes(); + } + }); + + // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628 + document.addEventListener('click', function(e) { + if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { + hideThemes(); + } + }); + + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (!themePopup.contains(e.target)) { return; } + + switch (e.key) { + case 'Escape': + e.preventDefault(); + hideThemes(); + break; + case 'ArrowUp': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.previousElementSibling) { + li.previousElementSibling.querySelector('button').focus(); + } + break; + case 'ArrowDown': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.nextElementSibling) { + li.nextElementSibling.querySelector('button').focus(); + } + break; + case 'Home': + e.preventDefault(); + themePopup.querySelector('li:first-child button').focus(); + break; + case 'End': + e.preventDefault(); + themePopup.querySelector('li:last-child button').focus(); + break; + } + }); +})(); + +(function sidebar() { + var body = document.querySelector("body"); + var sidebar = document.getElementById("sidebar"); + var sidebarLinks = document.querySelectorAll('#sidebar a'); + var sidebarToggleButton = document.getElementById("sidebar-toggle"); + var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); + var firstContact = null; + + function showSidebar() { + body.classList.remove('sidebar-hidden') + body.classList.add('sidebar-visible'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', 0); + }); + sidebarToggleButton.setAttribute('aria-expanded', true); + sidebar.setAttribute('aria-hidden', false); + try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { } + } + + + var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); + + function toggleSection(ev) { + ev.currentTarget.parentElement.classList.toggle('expanded'); + } + + Array.from(sidebarAnchorToggles).forEach(function (el) { + el.addEventListener('click', toggleSection); + }); + + function hideSidebar() { + body.classList.remove('sidebar-visible') + body.classList.add('sidebar-hidden'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', -1); + }); + sidebarToggleButton.setAttribute('aria-expanded', false); + sidebar.setAttribute('aria-hidden', true); + try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { } + } + + // Toggle sidebar + sidebarToggleButton.addEventListener('click', function sidebarToggle() { + if (body.classList.contains("sidebar-hidden")) { + var current_width = parseInt( + document.documentElement.style.getPropertyValue('--sidebar-width'), 10); + if (current_width < 150) { + document.documentElement.style.setProperty('--sidebar-width', '150px'); + } + showSidebar(); + } else if (body.classList.contains("sidebar-visible")) { + hideSidebar(); + } else { + if (getComputedStyle(sidebar)['transform'] === 'none') { + hideSidebar(); + } else { + showSidebar(); + } + } + }); + + sidebarResizeHandle.addEventListener('mousedown', initResize, false); + + function initResize(e) { + window.addEventListener('mousemove', resize, false); + window.addEventListener('mouseup', stopResize, false); + body.classList.add('sidebar-resizing'); + } + function resize(e) { + var pos = (e.clientX - sidebar.offsetLeft); + if (pos < 20) { + hideSidebar(); + } else { + if (body.classList.contains("sidebar-hidden")) { + showSidebar(); + } + pos = Math.min(pos, window.innerWidth - 100); + document.documentElement.style.setProperty('--sidebar-width', pos + 'px'); + } + } + //on mouseup remove windows functions mousemove & mouseup + function stopResize(e) { + body.classList.remove('sidebar-resizing'); + window.removeEventListener('mousemove', resize, false); + window.removeEventListener('mouseup', stopResize, false); + } + + document.addEventListener('touchstart', function (e) { + firstContact = { + x: e.touches[0].clientX, + time: Date.now() + }; + }, { passive: true }); + + document.addEventListener('touchmove', function (e) { + if (!firstContact) + return; + + var curX = e.touches[0].clientX; + var xDiff = curX - firstContact.x, + tDiff = Date.now() - firstContact.time; + + if (tDiff < 250 && Math.abs(xDiff) >= 150) { + if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) + showSidebar(); + else if (xDiff < 0 && curX < 300) + hideSidebar(); + + firstContact = null; + } + }, { passive: true }); +})(); + +(function chapterNavigation() { + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (window.search && window.search.hasFocus()) { return; } + var html = document.querySelector('html'); + + function next() { + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + } + function prev() { + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + } + switch (e.key) { + case 'ArrowRight': + e.preventDefault(); + if (html.dir == 'rtl') { + prev(); + } else { + next(); + } + break; + case 'ArrowLeft': + e.preventDefault(); + if (html.dir == 'rtl') { + next(); + } else { + prev(); + } + break; + } + }); +})(); + +(function clipboard() { + var clipButtons = document.querySelectorAll('.clip-button'); + + function hideTooltip(elem) { + elem.firstChild.innerText = ""; + elem.className = 'fa fa-copy clip-button'; + } + + function showTooltip(elem, msg) { + elem.firstChild.innerText = msg; + elem.className = 'fa fa-copy tooltipped'; + } + + var clipboardSnippets = new ClipboardJS('.clip-button', { + text: function (trigger) { + hideTooltip(trigger); + let playground = trigger.closest("pre"); + return playground_text(playground, false); + } + }); + + Array.from(clipButtons).forEach(function (clipButton) { + clipButton.addEventListener('mouseout', function (e) { + hideTooltip(e.currentTarget); + }); + }); + + clipboardSnippets.on('success', function (e) { + e.clearSelection(); + showTooltip(e.trigger, "Copied!"); + }); + + clipboardSnippets.on('error', function (e) { + showTooltip(e.trigger, "Clipboard error!"); + }); +})(); + +(function scrollToTop () { + var menuTitle = document.querySelector('.menu-title'); + + menuTitle.addEventListener('click', function () { + document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); + }); +})(); + +(function controllMenu() { + var menu = document.getElementById('menu-bar'); + + (function controllPosition() { + var scrollTop = document.scrollingElement.scrollTop; + var prevScrollTop = scrollTop; + var minMenuY = -menu.clientHeight - 50; + // When the script loads, the page can be at any scroll (e.g. if you reforesh it). + menu.style.top = scrollTop + 'px'; + // Same as parseInt(menu.style.top.slice(0, -2), but faster + var topCache = menu.style.top.slice(0, -2); + menu.classList.remove('sticky'); + var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster + document.addEventListener('scroll', function () { + scrollTop = Math.max(document.scrollingElement.scrollTop, 0); + // `null` means that it doesn't need to be updated + var nextSticky = null; + var nextTop = null; + var scrollDown = scrollTop > prevScrollTop; + var menuPosAbsoluteY = topCache - scrollTop; + if (scrollDown) { + nextSticky = false; + if (menuPosAbsoluteY > 0) { + nextTop = prevScrollTop; + } + } else { + if (menuPosAbsoluteY > 0) { + nextSticky = true; + } else if (menuPosAbsoluteY < minMenuY) { + nextTop = prevScrollTop + minMenuY; + } + } + if (nextSticky === true && stickyCache === false) { + menu.classList.add('sticky'); + stickyCache = true; + } else if (nextSticky === false && stickyCache === true) { + menu.classList.remove('sticky'); + stickyCache = false; + } + if (nextTop !== null) { + menu.style.top = nextTop + 'px'; + topCache = nextTop; + } + prevScrollTop = scrollTop; + }, { passive: true }); + })(); + (function controllBorder() { + function updateBorder() { + if (menu.offsetTop === 0) { + menu.classList.remove('bordered'); + } else { + menu.classList.add('bordered'); + } + } + updateBorder(); + document.addEventListener('scroll', updateBorder, { passive: true }); + })(); +})(); diff --git a/microbit/clipboard.min.js b/microbit/clipboard.min.js new file mode 100644 index 000000000..02c549e35 --- /dev/null +++ b/microbit/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n .hljs { + color: var(--links); +} + +/* + body-container is necessary because mobile browsers don't seem to like + overflow-x on the body tag when there is a tag. +*/ +#body-container { + /* + This is used when the sidebar pushes the body content off the side of + the screen on small screens. Without it, dragging on mobile Safari + will want to reposition the viewport in a weird way. + */ + overflow-x: clip; +} + +/* Menu Bar */ + +#menu-bar, +#menu-bar-hover-placeholder { + z-index: 101; + margin: auto calc(0px - var(--page-padding)); +} +#menu-bar { + position: relative; + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-block-end-color: var(--bg); + border-block-end-width: 1px; + border-block-end-style: solid; +} +#menu-bar.sticky, +.js #menu-bar-hover-placeholder:hover + #menu-bar, +.js #menu-bar:hover, +.js.sidebar-visible #menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0 !important; +} +#menu-bar-hover-placeholder { + position: sticky; + position: -webkit-sticky; + top: 0; + height: var(--menu-bar-height); +} +#menu-bar.bordered { + border-block-end-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + padding: 0 8px; + z-index: 10; + line-height: var(--menu-bar-height); + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: 420px) { + #menu-bar i, #menu-bar .icon-button { + padding: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +.right-buttons { + margin: 0 15px; +} +.right-buttons a { + text-decoration: none; +} + +.left-buttons { + display: flex; + margin: 0 5px; +} +.no-js .left-buttons button { + display: none; +} + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 2.4rem; + line-height: var(--menu-bar-height); + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 0; + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s, background-color 0.5s; +} + +.nav-chapters:hover { + text-decoration: none; + background-color: var(--theme-hover); + transition: background-color 0.15s, color 0.15s; +} + +.nav-wrapper { + margin-block-start: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +/* Only Firefox supports flow-relative values */ +.previous { float: left; } +[dir=rtl] .previous { float: right; } + +/* Only Firefox supports flow-relative values */ +.next { + float: right; + right: var(--page-padding); +} +[dir=rtl] .next { + float: left; + right: unset; + left: var(--page-padding); +} + +/* Use the correct buttons for RTL layouts*/ +[dir=rtl] .previous i.fa-angle-left:before {content:"\f105";} +[dir=rtl] .next i.fa-angle-right:before { content:"\f104"; } + +@media only screen and (max-width: 1080px) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +/* sidebar-visible */ +@media only screen and (max-width: 1380px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; } + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline; + padding: 0.1em 0.3em; + border-radius: 3px; +} + +:not(pre):not(a) > .hljs { + color: var(--inline-code-color); + overflow-x: initial; +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + right: 0px; + top: 2px; + margin: 0px; + padding: 2px 0px; + + color: var(--sidebar-fg); + cursor: pointer; + visibility: hidden; + opacity: 0; + transition: visibility 0.1s linear, opacity 0.1s linear; +} +pre:hover > .buttons { + visibility: visible; + opacity: 1 +} +pre > .buttons :hover { + color: var(--sidebar-active); + border-color: var(--icons-hover); + background-color: var(--theme-hover); +} +pre > .buttons i { + margin-inline-start: 8px; +} +pre > .buttons button { + cursor: inherit; + margin: 0px 5px; + padding: 3px 5px; + font-size: 14px; + + border-style: solid; + border-width: 1px; + border-radius: 4px; + border-color: var(--icons); + background-color: var(--theme-popup-bg); + transition: 100ms; + transition-property: color,border-color,background-color; + color: var(--icons); +} +@media (pointer: coarse) { + pre > .buttons button { + /* On mobile, make it easier to tap buttons. */ + padding: 0.3rem 1rem; + } + + .sidebar-resize-indicator { + /* Hide resize indicator on devices with limited accuracy */ + display: none; + } +} +pre > code { + display: block; + padding: 1rem; +} + +/* FIXME: ACE editors overlap their buttons because ACE does absolute + positioning within the code block which breaks padding. The only solution I + can think of is to move the padding to the outer pre tag (or insert a div + wrapper), but that would require fixing a whole bunch of CSS rules. +*/ +.hljs.ace_editor { + padding: 0rem 0rem; +} + +pre > .result { + margin-block-start: 10px; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding-block-start: 0; + padding-block-end: 1px; + padding-inline-start: 3px; + padding-inline-end: 3px; + margin-block-start: 0; + margin-block-end: -1px; + margin-inline-start: -3px; + margin-inline-end: -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: auto; + margin-inline-end: auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding-block-start: 18px; + padding-block-end: 0; + padding-inline-start: 5px; + padding-inline-end: 0; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); + border-block-end: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-inline-start: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: 20px; + margin-inline-end: 0; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +[dir=rtl] .sidebar { left: unset; right: 0; } +.sidebar-resizing { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.no-js .sidebar, +.js:not(.sidebar-resizing) .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar .sidebar-scrollbox { + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 10px 10px; +} +.sidebar .sidebar-resize-handle { + position: absolute; + cursor: col-resize; + width: 0; + right: calc(var(--sidebar-resize-indicator-width) * -1); + top: 0; + bottom: 0; + display: flex; + align-items: center; +} + +.sidebar-resize-handle .sidebar-resize-indicator { + width: 100%; + height: 12px; + background-color: var(--icons); + margin-inline-start: var(--sidebar-resize-indicator-space); +} + +[dir=rtl] .sidebar .sidebar-resize-handle { + left: calc(var(--sidebar-resize-indicator-width) * -1); + right: unset; +} +.js .sidebar .sidebar-resize-handle { + cursor: col-resize; + width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)); +} +/* sidebar-hidden */ +#sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); + z-index: -1; +} +[dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +/* sidebar-visible */ +#sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); +} +@media only screen and (min-width: 620px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)); + } + [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + } +} + +.chapter { + list-style: none outside none; + padding-inline-start: 0; + line-height: 2.2em; +} + +.chapter ol { + width: 100%; +} + +.chapter li { + display: flex; + color: var(--sidebar-non-existant); +} +.chapter li a { + display: block; + padding: 0; + text-decoration: none; + color: var(--sidebar-fg); +} + +.chapter li a:hover { + color: var(--sidebar-active); +} + +.chapter li a.active { + color: var(--sidebar-active); +} + +.chapter li > a.toggle { + cursor: pointer; + display: block; + margin-inline-start: auto; + padding: 0 10px; + user-select: none; + opacity: 0.68; +} + +.chapter li > a.toggle div { + transition: transform 0.5s; +} + +/* collapse the section */ +.chapter li:not(.expanded) + li > ol { + display: none; +} + +.chapter li.chapter-item { + line-height: 1.5em; + margin-block-start: 0.6em; +} + +.chapter li.expanded > a.toggle div { + transform: rotate(90deg); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-inline-start: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + top: var(--menu-bar-height); + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; + /* Don't let the children's background extend past the rounded corners. */ + overflow: hidden; +} +[dir=rtl] .theme-popup { left: unset; right: 10px; } +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + width: 100%; + border: 0; + margin: 0; + padding: 2px 20px; + line-height: 25px; + white-space: nowrap; + text-align: start; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} + +.theme-selected::before { + display: inline-block; + content: "✓"; + margin-inline-start: -14px; + width: 14px; +} diff --git a/microbit/css/general.css b/microbit/css/general.css new file mode 100644 index 000000000..7670b087d --- /dev/null +++ b/microbit/css/general.css @@ -0,0 +1,232 @@ +/* Base styles and content styles */ + +:root { + /* Browser default font-size is 16px, this way 1 rem = 10px */ + font-size: 62.5%; + color-scheme: var(--color-scheme); +} + +html { + font-family: "Open Sans", sans-serif; + color: var(--fg); + background-color: var(--bg); + text-size-adjust: none; + -webkit-text-size-adjust: none; +} + +body { + margin: 0; + font-size: 1.6rem; + overflow-x: hidden; +} + +code { + font-family: var(--mono-font) !important; + font-size: var(--code-font-size); + direction: ltr !important; +} + +/* make long words/inline code not x overflow */ +main { + overflow-wrap: break-word; +} + +/* make wide tables scroll if they overflow */ +.table-wrapper { + overflow-x: auto; +} + +/* Don't change font size in headers. */ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: unset; +} + +.left { float: left; } +.right { float: right; } +.boring { opacity: 0.6; } +.hide-boring .boring { display: none; } +.hidden { display: none !important; } + +h2, h3 { margin-block-start: 2.5em; } +h4, h5 { margin-block-start: 2em; } + +.header + .header h3, +.header + .header h4, +.header + .header h5 { + margin-block-start: 1em; +} + +h1:target::before, +h2:target::before, +h3:target::before, +h4:target::before, +h5:target::before, +h6:target::before { + display: inline-block; + content: "»"; + margin-inline-start: -30px; + width: 30px; +} + +/* This is broken on Safari as of version 14, but is fixed + in Safari Technology Preview 117 which I think will be Safari 14.2. + https://bugs.webkit.org/show_bug.cgi?id=218076 +*/ +:target { + /* Safari does not support logical properties */ + scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); +} + +.page { + outline: 0; + padding: 0 var(--page-padding); + margin-block-start: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ +} +.page-wrapper { + box-sizing: border-box; + background-color: var(--bg); +} +.no-js .page-wrapper, +.js:not(.sidebar-resizing) .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} +[dir=rtl] .js:not(.sidebar-resizing) .page-wrapper { + transition: margin-right 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 5px 50px 5px; +} +.content main { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} +.content p { line-height: 1.45em; } +.content ol { line-height: 1.45em; } +.content ul { line-height: 1.45em; } +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img, .content video { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} +table td { + padding: 3px 20px; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); +} +table thead td { + font-weight: 700; + border: none; +} +table thead th { + padding: 3px 20px; +} +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + padding: 0 20px; + color: var(--fg); + background-color: var(--quote-bg); + border-block-start: .1em solid var(--quote-border); + border-block-end: .1em solid var(--quote-border); +} + +.warning { + margin: 20px; + padding: 0 20px; + border-inline-start: 2px solid var(--warning-border); +} + +.warning:before { + position: absolute; + width: 3rem; + height: 3rem; + margin-inline-start: calc(-1.5rem - 21px); + content: "ⓘ"; + text-align: center; + background-color: var(--bg); + color: var(--warning-border); + font-weight: bold; + font-size: 2rem; +} + +blockquote .warning:before { + background-color: var(--quote-bg); +} + +kbd { + background-color: var(--table-border-color); + border-radius: 4px; + border: solid 1px var(--theme-popup-border); + box-shadow: inset 0 -1px 0 var(--theme-hover); + display: inline-block; + font-size: var(--code-font-size); + font-family: var(--mono-font); + line-height: 10px; + padding: 4px 5px; + vertical-align: middle; +} + +:not(.footnote-definition) + .footnote-definition, +.footnote-definition + :not(.footnote-definition) { + margin-block-start: 2em; +} +.footnote-definition { + font-size: 0.9em; + margin: 0.5em 0; +} +.footnote-definition p { + display: inline; +} + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + +.chapter li.part-title { + color: var(--sidebar-fg); + margin: 5px 0px; + font-weight: bold; +} + +.result-no-output { + font-style: italic; +} diff --git a/microbit/css/print.css b/microbit/css/print.css new file mode 100644 index 000000000..80ec3a544 --- /dev/null +++ b/microbit/css/print.css @@ -0,0 +1,50 @@ + +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none !important; + margin-inline-start: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + direction: ltr !important; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; +} diff --git a/microbit/css/variables.css b/microbit/css/variables.css new file mode 100644 index 000000000..0da55e8c9 --- /dev/null +++ b/microbit/css/variables.css @@ -0,0 +1,279 @@ + +/* Globals */ + +:root { + --sidebar-width: 300px; + --sidebar-resize-indicator-width: 8px; + --sidebar-resize-indicator-space: 2px; + --page-padding: 15px; + --content-max-width: 750px; + --menu-bar-height: 50px; + --mono-font: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; + --code-font-size: 0.875em /* please adjust the ace font size accordingly in editor.js */ +} + +/* Themes */ + +.ayu { + --bg: hsl(210, 25%, 8%); + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; + + --color-scheme: dark; +} + +.coal { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + + --color-scheme: dark; +} + +.light { + --bg: hsl(0, 0%, 100%); + --fg: hsl(0, 0%, 0%); + + --sidebar-bg: #fafafa; + --sidebar-fg: hsl(0, 0%, 0%); + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #1f1fff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #8F8F8F; + + --icons: #747474; + --icons-hover: #000000; + + --links: #20609f; + + --inline-code-color: #301900; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: hsl(197, 37%, 96%); + --quote-border: hsl(197, 37%, 91%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(0, 0%, 95%); + --table-header-bg: hsl(0, 0%, 80%); + --table-alternate-bg: hsl(0, 0%, 97%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; + + --color-scheme: light; +} + +.navy { + --bg: hsl(226, 23%, 11%); + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(226, 23%, 16%); + --table-header-bg: hsl(226, 23%, 31%); + --table-alternate-bg: hsl(226, 23%, 14%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; + + --color-scheme: dark; +} + +.rust { + --bg: hsl(60, 9%, 87%); + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: hsl(60, 5%, 75%); + --quote-border: hsl(60, 5%, 70%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(60, 9%, 82%); + --table-header-bg: #b3a497; + --table-alternate-bg: hsl(60, 9%, 84%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; + + --color-scheme: light; +} + +@media (prefers-color-scheme: dark) { + .light.no-js { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + } +} diff --git a/microbit/elasticlunr.min.js b/microbit/elasticlunr.min.js new file mode 100644 index 000000000..94b20dd2e --- /dev/null +++ b/microbit/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o + + + + + What's left for you to explore - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

What's left for you to explore

+

We have barely scratched the surface! There's lots of stuff left for you to +explore.

+
+

NOTE: If you're reading this, and you'd like to help add examples or +exercises to the Discovery book for any of the items below, or any other +relevant embedded topics, we'd love to have your help!

+

Please open an issue if you would like to help, but need assistance or +mentoring for how to contribute this to the book, or open a Pull Request +adding the information!

+
+

Topics about embedded software

+

These topics discuss strategies for writing embedded software. Although many +problems can be solved in different ways, these sections talk about some +strategies, and when they make sense (or don't make sense) to use.

+

Multitasking

+

Most of our programs executed a single task. How could we achieve multitasking in a +system with no OS, and thus no threads? There are two main approaches to +multitasking: preemptive multitasking and cooperative multitasking.

+

In preemptive multitasking a task that's currently being executed can, at any point in time, be +preempted (interrupted) by another task. On preemption, the first task will be suspended and the +processor will instead execute the second task. At some point the first task will be resumed. +Microcontrollers provide hardware support for preemption in the form of interrupts. We were introduced +to interrupts when we built our snake game in chapter 11.

+

In cooperative multitasking a task that's being executed will run until it reaches a suspension +point. When the processor reaches that suspension point it will stop executing the current task and +instead go and execute a different task. At some point the first task will be resumed. The main +difference between these two approaches to multitasking is that in cooperative multitasking yields +execution control at known suspension points instead of being forcefully preempted at any point of +its execution.

+

Sleeping

+

All our programs have been continuously polling peripherals to see if there's +anything that needs to be done. However, sometimes there's nothing to be done! +At those times, the microcontroller should "sleep".

+

When the processor sleeps, it stops executing instructions and this saves power. +It's almost always a good idea to save power so your microcontroller should be +sleeping as much as possible. But, how does it know when it has to wake up to +perform some action? "Interrupts" (see below for what exactly those are) +are one of the events that wake up the microcontroller but there are others +and the wfi and wfe are the instructions that make the processor "sleep".

+ +

Microcontrollers (like our nRF52/nRF51) have many capabilities. However, many share similar +capabilities that can be used to solve all sorts of different problems.

+

These topics discuss some of those capabilities, and how they can be used effectively +in embedded development.

+

Direct Memory Access (DMA).

+

This peripheral is a kind of asynchronous memcpy. If you are working with +a micro:bit v2 you have actually already used this, the HAL does this for you +with the UARTE and TWIM peripherals. A DMA peripheral can be used to perform bulk +transfers of data. Either from RAM to RAM, from a peripheral, like a UARTE, to RAM +or from RAM to a peripheral. You can schedule a DMA transfer, like read 256 bytes +from UARTE into this buffer, leave it running in the background and then poll some +register to see if it has completed so you can do other stuff while the transfer +is ongoing. For more information as to how this is implemented you can checkout the +serial_setup module from the UART chapter. If that isn't enough yet you could even +try and dive into the code of the nrf52-hal.

+

Interrupts

+

In order to interact with the real world, it is often necessary for the +microcontroller to respond immediately when some kind of event occurs.

+

Microcontrollers have the ability to be interrupted, meaning when a certain event +occurs, it will stop whatever it is doing at the moment, to instead respond to that +event. This can be very useful when we want to stop a motor when a button is pressed, +or measure a sensor when a timer finishes counting down.

+

Although these interrupts can be very useful, they can also be a bit difficult +to work with properly. We want to make sure that we respond to events quickly, +but also allow other work to continue as well.

+

In Rust, we model interrupts similar to the concept of threading on desktop Rust +programs. This means we also must think about the Rust concepts of Send and Sync +when sharing data between our main application, and code that executes as part of +handling an interrupt event.

+

Pulse Width Modulation (PWM)

+

In a nutshell, PWM is turning on something and then turning it off periodically +while keeping some proportion ("duty cycle") between the "on time" and the "off +time". When used on a LED with a sufficiently high frequency, this can be used +to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make +the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, +will make the LED much brighter (almost as if it were fully powered).

+

In general, PWM can be used to control how much power is given to some +electric device. With proper (power) electronics between a microcontroller and +an electrical motor, PWM can be used to control how much power is given to the +motor thus it can be used to control its torque and speed. Then you can add an +angular position sensor and you got yourself a closed loop controller that can +control the position of the motor at different loads.

+

PWM is already abstracted within the embedded-hal Pwm trait and you will +again find implementations of this in the nrf52-hal.

+

Digital inputs

+

We have used the microcontroller pins as digital outputs, to drive LEDs. When +building our snake game, we also caught a glimpse of how these pins can be +configured as digital inputs. As digital inputs, these pins can read the binary +state of switches (on/off) or buttons (pressed/not pressed).

+

Again digital inputs are abstracted within the embedded-hal InputPin trait +and of course the nrf52-hal does have an implementation for them.

+

(spoilers reading the binary state of switches / buttons is not as +straightforward as it sounds ;-) )

+

Analog-to-Digital Converters (ADC)

+

There are a lot of digital sensors out there. You can use a protocol like I2C +and SPI to read them. But analog sensors also exist! These sensors just output a +voltage level that's proportional to the magnitude they are sensing.

+

The ADC peripheral can be used to convert that "analog" voltage level, say 1.25 +Volts, into a "digital" number, say in the [0, 65535] range, that the processor +can use in its calculations.

+

Again the embedded-hal adc module as well as the nrf52-hal got you covered.

+

Digital-to-Analog Converters (DAC)

+

As you might expect a DAC is exactly the opposite of ADC. You can write some +digital value into a register to produce a voltage in the [0, 3.3V] range +(assuming a 3.3V power supply) on some "analog" pin. When this analog pin is +connected to some appropriate electronics and the register is written to at some +constant, fast rate (frequency) with the right values you can produce sounds or +even music!

+

Real Time Clock (RTC)

+

This peripheral can be used to track time in "human format". Seconds, minutes, +hours, days, months and years. This peripheral handles the translation from +"ticks" to these human friendly units of time. It even handles leap years and +Daylight Save Time for you!

+

Other communication protocols

+
    +
  • SPI, abstracted within the embedded-hal spi module and implemented by the nrf52-hal
  • +
  • I2S, currently not abstracted within the embedded-hal but implemented by the nrf52-hal
  • +
  • Ethernet, there does exist a small TCP/IP stack named smoltcp which is implemented for some +chips but the ones on the micro:bit don't feature an Ethernet peripheral
  • +
  • USB, there is some experimental work on this, for example with the usb-device crate
  • +
  • Bluetooth, there does exist an incomplete BLE stack named rubble which does support nrf chips.
  • +
  • SMBUS, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment.
  • +
  • CAN, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment
  • +
  • IrDA, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment
  • +
+

Different applications use different communication protocols. User facing +applications usually have a USB connector because USB is a ubiquitous +protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN +"buses". Some digital sensors use SPI, others use I2C and others, SMBUS.

+

If you happen to be interested in developing abstractions in the embedded-hal or +implementations of peripherals in general, don't be shy to open an issue in the HAL +repositories. Alternatively you could also join the Rust Embedded matrix channel +and get into contact with most of the people who built the stuff from above.

+

General Embedded-Relevant Topics

+

These topics cover items that are not specific to our device, or the hardware on +it. Instead, they discuss useful techniques that could be used on embedded +systems.

+

Gyroscopes

+

As part of our Punch-o-meter exercise, we used the Accelerometer to measure +changes in acceleration in three dimensions. But there are other motion +sensors such as gyroscopes, which allows us to measure changes in "spin" in three +dimensions.

+

This can be very useful when trying to build certain systems, such as a robot +that wants to avoid tipping over. Additionally, the data from a sensor like a +gyroscope can also be combined with data from accelerometer using a technique +called Sensor Fusion (see below for more information).

+

Servo and Stepper Motors

+

While some motors are used primarily just to spin in one direction or the other, +for example driving a remote control car forwards or backwards, it is sometimes +useful to measure more precisely how a motor rotates.

+

Our microcontroller can be used to drive Servo or Stepper motors, which allow +for more precise control of how many turns are being made by the motor, or +can even position the motor in one specific place, for example if we wanted to +move the arms of a clock to a particular direction.

+

Sensor fusion

+

The micro:bit contains two motion sensors: an accelerometer and a magnetometer. +On their own these measure: (proper) acceleration and (the Earth's) magnetic field. +But these magnitudes can be "fused" into something more useful: a "robust" measurement +of the orientation of the board. Where robust means with less measurement error than +a single sensor would be capable of.

+

This idea of deriving more reliable data from different sources is known as +sensor fusion.

+
+

So where to next? There are several options:

+
    +
  • You could check out the examples in the microbit board support crate. All those examples work for +the micro:bit board you have.
  • +
+
    +
  • You could join the Rust Embedded matrix channel, lots of people who contribute or work on embedded software +hang out there. Including for example the people who wrote the microbit BSP, the nrf52-hal, embedded-hal etc.
  • +
+
    +
  • If you are looking for a general overview of what is available in Rust Embedded right now check out the Awesome Rust Embedded +list
  • +
+ +
    +
  • You could check out more abstractions of the embedded-hal project and maybe even try and write your own +platform agnostic driver based on it.
  • +
+
    +
  • You could try running Rust on a different development board. The easiest way to get started is to +use the cortex-m-quickstart Cargo project template.
  • +
+ +
    +
  • You could check out this blog post which describes how Rust type system can +prevent bugs in I/O configuration.
  • +
+
    +
  • You could check out japaric's blog for miscellaneous topics about embedded development with Rust.
  • +
+
    +
  • You could join the Weekly driver initiative and help us write generic drivers on top of the +embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, +etc.)
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/favicon.png b/microbit/favicon.png new file mode 100644 index 000000000..a5b1aa16c Binary files /dev/null and b/microbit/favicon.png differ diff --git a/microbit/favicon.svg b/microbit/favicon.svg new file mode 100644 index 000000000..90e0ea58b --- /dev/null +++ b/microbit/favicon.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/microbit/fonts/OPEN-SANS-LICENSE.txt b/microbit/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/microbit/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/microbit/fonts/SOURCE-CODE-PRO-LICENSE.txt b/microbit/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 000000000..366206f54 --- /dev/null +++ b/microbit/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/microbit/fonts/fonts.css b/microbit/fonts/fonts.css new file mode 100644 index 000000000..858efa598 --- /dev/null +++ b/microbit/fonts/fonts.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('open-sans-v17-all-charsets-300.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('open-sans-v17-all-charsets-300italic.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('open-sans-v17-all-charsets-regular.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v17-all-charsets-italic.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('open-sans-v17-all-charsets-600.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('open-sans-v17-all-charsets-600italic.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v17-all-charsets-700.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v17-all-charsets-700italic.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('open-sans-v17-all-charsets-800.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('open-sans-v17-all-charsets-800italic.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2'); +} diff --git a/microbit/fonts/open-sans-v17-all-charsets-300.woff2 b/microbit/fonts/open-sans-v17-all-charsets-300.woff2 new file mode 100644 index 000000000..9f51be370 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-300.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-300italic.woff2 b/microbit/fonts/open-sans-v17-all-charsets-300italic.woff2 new file mode 100644 index 000000000..2f5454484 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-300italic.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-600.woff2 b/microbit/fonts/open-sans-v17-all-charsets-600.woff2 new file mode 100644 index 000000000..f503d558d Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-600.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-600italic.woff2 b/microbit/fonts/open-sans-v17-all-charsets-600italic.woff2 new file mode 100644 index 000000000..c99aabe80 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-600italic.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-700.woff2 b/microbit/fonts/open-sans-v17-all-charsets-700.woff2 new file mode 100644 index 000000000..421a1ab25 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-700.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-700italic.woff2 b/microbit/fonts/open-sans-v17-all-charsets-700italic.woff2 new file mode 100644 index 000000000..12ce3d20d Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-700italic.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-800.woff2 b/microbit/fonts/open-sans-v17-all-charsets-800.woff2 new file mode 100644 index 000000000..c94a223b0 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-800.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-800italic.woff2 b/microbit/fonts/open-sans-v17-all-charsets-800italic.woff2 new file mode 100644 index 000000000..eed7d3c63 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-800italic.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-italic.woff2 b/microbit/fonts/open-sans-v17-all-charsets-italic.woff2 new file mode 100644 index 000000000..398b68a08 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-italic.woff2 differ diff --git a/microbit/fonts/open-sans-v17-all-charsets-regular.woff2 b/microbit/fonts/open-sans-v17-all-charsets-regular.woff2 new file mode 100644 index 000000000..8383e94c6 Binary files /dev/null and b/microbit/fonts/open-sans-v17-all-charsets-regular.woff2 differ diff --git a/microbit/fonts/source-code-pro-v11-all-charsets-500.woff2 b/microbit/fonts/source-code-pro-v11-all-charsets-500.woff2 new file mode 100644 index 000000000..722245682 Binary files /dev/null and b/microbit/fonts/source-code-pro-v11-all-charsets-500.woff2 differ diff --git a/microbit/highlight.css b/microbit/highlight.css new file mode 100644 index 000000000..ba57b82b2 --- /dev/null +++ b/microbit/highlight.css @@ -0,0 +1,82 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/microbit/highlight.js b/microbit/highlight.js new file mode 100644 index 000000000..18d24345b --- /dev/null +++ b/microbit/highlight.js @@ -0,0 +1,54 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="
",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/microbit/index.html b/microbit/index.html new file mode 100644 index 000000000..c90db133c --- /dev/null +++ b/microbit/index.html @@ -0,0 +1,288 @@ + + + + + + Introduction - Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Discovery

+
+

Discover the world of microcontrollers through Rust!

+
+

This book is an introductory course on microcontroller-based embedded systems that uses Rust as the +teaching language rather than the usual C/C++.

+

Scope

+

The following topics will be covered (eventually, I hope):

+
    +
  • +

    How to write, build, flash and debug an "embedded" (Rust) program.

    +
  • +
  • +

    Functionality ("peripherals") commonly found in microcontrollers: Digital input and output, Pulse +Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like +Serial, I2C and SPI, etc.

    +
  • +
  • +

    Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc.

    +
  • +
  • +

    Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, +closed loop control, etc.

    +
  • +
+

Approach

+
    +
  • +

    Beginner friendly. No previous experience with microcontrollers or embedded systems is required.

    +
  • +
  • +

    Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the +work here.

    +
  • +
  • +

    Tool centered. We'll make plenty use of tooling to ease development. "Real" debugging, with GDB, +and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.

    +
  • +
+

Non-goals

+

What's out of scope for this book:

+
    +
  • +

    Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers +and embedded systems.

    +
  • +
  • +

    Being a comprehensive text about electric circuit theory or electronics. We'll just cover the +minimum required to understand how some devices work.

    +
  • +
  • +

    Covering details such as linker scripts and the boot process. For example, we'll use existing tools +to help get your code onto your board, but not go into detail about how those tools work.

    +
  • +
+

Also I don't intend to port this material to other development boards; this book will make exclusive +use of the micro:bit development board.

+

Reporting problems

+

The source of this book is in this repository. If you encounter any typo or problem with the code +report it on the issue tracker.

+

Other embedded Rust resources

+

This Discovery book is just one of several embedded Rust resources provided by the +Embedded Working Group. The full selection can be found at The Embedded Rust Bookshelf. This +includes the list of Frequently Asked Questions.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/mark.min.js b/microbit/mark.min.js new file mode 100644 index 000000000..163623188 --- /dev/null +++ b/microbit/mark.min.js @@ -0,0 +1,7 @@ +/*!*************************************************** +* mark.js v8.11.1 +* https://markjs.io/ +* Copyright (c) 2014–2018, Julian Kühnel +* Released under the MIT license https://git.io/vwTVl +*****************************************************/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c + + + + + Discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Discovery

+
+

Discover the world of microcontrollers through Rust!

+
+

This book is an introductory course on microcontroller-based embedded systems that uses Rust as the +teaching language rather than the usual C/C++.

+

Scope

+

The following topics will be covered (eventually, I hope):

+
    +
  • +

    How to write, build, flash and debug an "embedded" (Rust) program.

    +
  • +
  • +

    Functionality ("peripherals") commonly found in microcontrollers: Digital input and output, Pulse +Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like +Serial, I2C and SPI, etc.

    +
  • +
  • +

    Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc.

    +
  • +
  • +

    Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, +closed loop control, etc.

    +
  • +
+

Approach

+
    +
  • +

    Beginner friendly. No previous experience with microcontrollers or embedded systems is required.

    +
  • +
  • +

    Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the +work here.

    +
  • +
  • +

    Tool centered. We'll make plenty use of tooling to ease development. "Real" debugging, with GDB, +and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.

    +
  • +
+

Non-goals

+

What's out of scope for this book:

+
    +
  • +

    Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers +and embedded systems.

    +
  • +
  • +

    Being a comprehensive text about electric circuit theory or electronics. We'll just cover the +minimum required to understand how some devices work.

    +
  • +
  • +

    Covering details such as linker scripts and the boot process. For example, we'll use existing tools +to help get your code onto your board, but not go into detail about how those tools work.

    +
  • +
+

Also I don't intend to port this material to other development boards; this book will make exclusive +use of the micro:bit development board.

+

Reporting problems

+

The source of this book is in this repository. If you encounter any typo or problem with the code +report it on the issue tracker.

+

Other embedded Rust resources

+

This Discovery book is just one of several embedded Rust resources provided by the +Embedded Working Group. The full selection can be found at The Embedded Rust Bookshelf. This +includes the list of Frequently Asked Questions.

+

Background

+

What's a microcontroller?

+

A microcontroller is a system on a chip. Whereas your computer is made up of several discrete +components: a processor, RAM, storage, an Ethernet port, etc.; a microcontroller has all those types +of components built into a single "chip" or package. This makes it possible to build systems with +fewer parts.

+

What can you do with a microcontroller?

+

Lots of things! Microcontrollers are the central part of what are known as "embedded systems". +Embedded systems are everywhere, but you don't usually notice them. They control the machines that +wash your clothes, print your documents, and cook your food. Embedded systems keep the buildings +that you live and work in at a comfortable temperature, and control the components that make the +vehicles you travel in stop and go.

+

Most embedded systems operate without user intervention. Even if they expose a user interface like a +washing machine does; most of their operation is done on their own.

+

Embedded systems are often used to control a physical process. To make this possible, they have +one or more devices to tell them about the state of the world ("sensors"), and one or more +devices which allow them to change things ("actuators"). For example, a building climate control +system might have:

+
    +
  • Sensors which measure temperature and humidity in various locations.
  • +
  • Actuators which control the speed of fans.
  • +
  • Actuators which cause heat to be added or removed from the building.
  • +
+

When should I use a microcontroller?

+

Many of the embedded systems listed above could be implemented with a computer running Linux (for +example a "Raspberry Pi"). Why use a microcontroller instead? Sounds like it might be harder to +develop a program.

+

Some reasons might include:

+

Cost. A microcontroller is much cheaper than a general purpose computer. Not only is the +microcontroller cheaper; it also requires many fewer external electrical components to operate. +This makes Printed Circuit Boards (PCB) smaller and cheaper to design and manufacture.

+

Power consumption. Most microcontrollers consume a fraction of the power of a full blown +processor. For applications which run on batteries, that makes a huge difference.

+

Responsiveness. To accomplish their purpose, some embedded systems must always react within a +limited time interval (e.g. the "anti-lock" braking system of a car). If the system misses this +type of deadline, a catastrophic failure might occur. Such a deadline is called a "hard real time" +requirement. An embedded system which is bound by such a deadline is referred to as a "hard +real-time system". A general purpose computer and OS usually has many software components which +share the computer's processing resources. This makes it harder to guarantee execution of a program +within tight time constraints.

+

Reliability. In systems with fewer components (both hardware and software), there is less to go +wrong!

+

When should I not use a microcontroller?

+

Where heavy computations are involved. To keep their power consumption low, microcontrollers have +very limited computational resources available to them. For example, some microcontrollers don't +even have hardware support for floating point operations. On those devices, performing a simple +addition of single precision numbers can take hundreds of CPU cycles.

+

Why use Rust and not C?

+

Hopefully, I don't need to convince you here as you are probably familiar with the language +differences between Rust and C. One point I do want to bring up is package management. C lacks an +official, widely accepted package management solution whereas Rust has Cargo. This makes development +much easier. And, IMO, easy package management encourages code reuse because libraries can be +easily integrated into an application which is also a good thing as libraries get more "battle +testing".

+

Why should I not use Rust?

+

Or why should I prefer C over Rust?

+

The C ecosystem is way more mature. Off the shelf solutions for several problems already exist. If +you need to control a time sensitive process, you can grab one of the existing commercial Real Time +Operating Systems (RTOS) out there and solve your problem. There are no commercial, production-grade +RTOSes in Rust yet so you would have to either create one yourself or try one of the ones that are +in development. You can find a list of those in the Awesome Embedded Rust repository.

+

Hardware/knowledge requirements

+

The primary knowledge requirement to read this book is to know some Rust. It's +hard for me to quantify some but at least I can tell you that you don't need +to fully grok generics, but you do need to know how to use closures. You also +need to be familiar with the idioms of the 2018 edition, in particular with +the fact that extern crate is not necessary in the 2018 edition.

+

Also, to follow this material you'll need the following hardware:

+ +

(You can purchase this board from several electronics suppliers)

+

+ +

+
+

NOTE This is an image of a micro:bit v2, the front of the v1 looks slightly different

+
+
    +
  • One micro-B USB cable, required to make the micro:bit board work. +Make sure that the cable supports data transfer as some cables only support charging devices.
  • +
+

+ +

+
+

NOTE You may already have a cable like this, as some micro:bit kits ship with such cables. +Some USB cables used to charge mobile devices may also work, if they are micro-B and have the +capability to transmit data.

+
+
+

FAQ: Wait, why do I need this specific hardware?

+
+

It makes my life and yours much easier.

+

The material is much, much more approachable if we don't have to worry about hardware differences. +Trust me on this one.

+
+

FAQ: Can I follow this material with a different development board?

+
+

Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or +whether a high level crate already exists, like the nrf52-hal, for your development board +somewhere. You can look through the Awesome Embedded Rust HAL list for your microcontroller, +if you intend to use a different one.

+

With a different development board, this text would lose most if not all its beginner friendliness +and "easy to follow"-ness, IMO.

+

If you have a different development board and you don't consider yourself a total beginner, you are +better off starting with the quickstart project template.

+

Setting up a development environment

+

Dealing with microcontrollers involves several tools as we'll be dealing with an architecture +different from your computer's and we'll have to run and debug programs on a "remote" device.

+

Documentation

+

Tooling is not everything though. Without documentation, it is pretty much impossible to work with +microcontrollers.

+

We'll be referring to all these documents throughout this book:

+ +

Tools

+

We'll use all the tools listed below. Where a minimum version is not specified, any recent version +should work but we have listed the version we have tested.

+
    +
  • +

    Rust 1.57.0 or a newer toolchain.

    +
  • +
  • +

    gdb-multiarch. Tested version: 10.2. Other versions will most likely work as well though +If your distribution/platform does not have gdb-multiarch available arm-none-eabi-gdb +will do the trick as well. Furthermore, some normal gdb binaries are built with multiarch +capabilities as well, you can find further information about this in the sub chapters.

    +
  • +
  • +

    cargo-binutils. Version 0.3.3 or newer.

    +
  • +
+ +
    +
  • +

    minicom on Linux and macOS. Tested version: 2.7.1. Other versions will most likely work as well though

    +
  • +
  • +

    PuTTY on Windows.

    +
  • +
+

Next, follow OS-agnostic installation instructions for a few of the tools:

+

rustc & Cargo

+

Install rustup by following the instructions at https://rustup.rs.

+

If you already have rustup installed double check that you are on the stable +channel and your stable toolchain is up-to-date. rustc -V should return a date +newer than the one shown below:

+
$ rustc -V
+rustc 1.53.0 (53cb7b09b 2021-06-17)
+
+

cargo-binutils

+
$ rustup component add llvm-tools
+
+$ cargo install cargo-binutils --vers 0.3.3
+
+$ cargo size --version
+cargo-size 0.3.3
+
+

cargo-embed

+

In order to install cargo-embed, first install its prerequisites (note: these instructions are part of the more general probe-rs embedded debugging toolkit). Then install it with cargo:

+
$ cargo install cargo-embed --vers 0.18.0
+
+$ cargo embed --version
+cargo-embed 0.18.0
+git commit: crates.io
+
+

This repository

+

Since this book also contains some small Rust code bases used in various chapters +you will also have to download its source code. You can do this in one of the following ways:

+
    +
  • Visit the repository, click the green "Code" button and then the +"Download Zip" one
  • +
  • Clone it using git (if you know git you presumably already have it installed) from the same repository as linked in +the zip approach
  • +
+

OS specific instructions

+

Now follow the instructions specific to the OS you are using:

+ +

Linux

+

Here are the installation commands for a few Linux distributions.

+

Ubuntu 20.04 or newer / Debian 10 or newer

+
+

NOTE gdb-multiarch is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
$ sudo apt-get install \
+  gdb-multiarch \
+  minicom
+
+

Fedora 32 or newer

+
+

NOTE gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
$ sudo dnf install \
+  gdb \
+  minicom
+
+

Arch Linux

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+
$ sudo pacman -S \
+  arm-none-eabi-gdb \
+  minicom
+
+

Other distros

+
+

NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM +Cortex-M programs

+
+

For distros that don't have packages for ARM's pre-built +toolchain, +download the "Linux 64-bit" file and put its bin directory on your path. +Here's one way to do it:

+
$ mkdir -p ~/local && cd ~/local
+$ tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
+
+

Then, use your editor of choice to append to your PATH in the appropriate +shell init file (e.g. ~/.zshrc or ~/.bashrc):

+
PATH=$PATH:$HOME/local/gcc-arm-none-eabi-9-2020-q2-update/bin
+
+

udev rules

+

These rules let you use USB devices like the micro:bit without root privilege, i.e. sudo.

+

Create this file in /etc/udev/rules.d with the content shown below.

+
$ cat /etc/udev/rules.d/99-microbit.rules
+
+
# CMSIS-DAP for microbit
+SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE:="666"
+
+

Then reload the udev rules with:

+
$ sudo udevadm control --reload-rules
+
+

If you had any board plugged to your computer, unplug them and then plug them in again.

+

Now, go to the next section.

+

Windows

+

arm-none-eabi-gdb

+

ARM provides .exe installers for Windows. Grab one from here, and follow the instructions. +Just before the installation process finishes tick/select the "Add path to environment variable" +option. Then verify that the tools are in your %PATH%:

+
$ arm-none-eabi-gcc -v
+(..)
+gcc version 5.4.1 20160919 (release) (..)
+
+

PuTTY

+

Download the latest putty.exe from this site and place it somewhere in your %PATH%.

+

Now, go to the next section.

+

macOS

+

All the tools can be installed using Homebrew:

+
$ # ARM GCC debugger
+$ brew install arm-none-eabi-gdb
+
+$ # Minicom
+$ brew install minicom
+
+

That's all! Go to the next section.

+

Verify the installation

+

Let's verify that all the tools were installed correctly.

+

Linux only

+

Verify permissions

+

Connect the micro:bit to your computer using a USB cable.

+

The micro:bit should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got +enumerated:

+
$ lsusb | grep -i "NXP ARM mbed"
+Bus 001 Device 065: ID 0d28:0204 NXP ARM mbed
+$ # ^^^        ^^^
+
+

In my case, the micro:bit got connected to the bus #1 and got enumerated as the device #65. This means the +file /dev/bus/usb/001/065 is the micro:bit. Let's check its permissions:

+
$ ls -l /dev/bus/usb/001/065
+crw-rw-rw-. 1 root root 189, 64 Sep  5 14:27 /dev/bus/usb/001/065
+
+

The permissions should be crw-rw-rw-. If it's not ... then check your udev +rules and try re-loading them with:

+
$ sudo udevadm control --reload-rules
+
+

All

+

Verifying cargo-embed

+

First, connect the micro:bit to your Computer using a USB cable.

+

At least an orange LED right next to the USB port of the micro:bit should light up. +Furthermore, if you have never flashed another program on to your micro:bit, the default +program the micro:bit ships with should start blinking the red LEDs on its back, you +can ignore them.

+

Next up you will have to modify Embed.toml in the src/03-setup directory of the +book's source code. In the default.general section you will find two commented out +chip variants:

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+

If you are working with the micro:bit v2 board uncomment the first, for the v1 +uncomment the second line.

+

Next run one of these commands:

+
$ # make sure you are in src/03-setup of the books source code
+$ # If you are working with micro:bit v2
+$ rustup target add thumbv7em-none-eabihf
+$ cargo embed --target thumbv7em-none-eabihf
+
+$ # If you are working with micro:bit v1
+$ rustup target add thumbv6m-none-eabi
+$ cargo embed --target thumbv6m-none-eabi
+
+

If everything works correctly cargo-embed should first compile the small example program +in this directory, then flash it and finally open a nice text based user interface that +prints Hello World.

+

(If it does not, check out general troubleshooting instructions.)

+

This output is coming from the small Rust program you just flashed on to your micro:bit. +Everything is working properly and you can continue with the next chapters!

+

Getting the most out of your IDE

+

All code in this book assumes that you use a simple terminal to build your code, +run it, and interact with it. It also makes no assumption about your text editor.

+

However, you may have your favourite IDEs, providing you auto-complete, type annotation, +your preferred shortcuts and much more. This section explains how to get the most out +of your IDE using the code obtained from this book's repo.

+

Auto-completion, type annotation, and more

+

Some IDEs fail to understand the code, because they fail to determine whether a term +is defined in the microbit or microbit-v2 codebase. If you fail to get auto-completion to work, +you may want to try to edit the Cargo.toml files you encounter through this book, and remove +all references to the version of microbit you are not using. That is: +in the Cargo.toml file you must remove the dependency and features you do not use (the part guarded by #[cfg(feature = "vI")] and the guard itself)

+

IDE configuration

+

Below, we explain how to configure your IDE to get the most out of this book. +If your IDE is not listed below, please improve this book by adding a section, so that the next +reader can get the best experience out of it.

+

How to build with IntelliJ

+

When editing the IntelliJ build configuration, here are a few non-default values:

+
    +
  • You should edit the command. When this book tells you to run cargo embed FLAGS, +You'll need to replace the default value run by the command embed FLAGS,
  • +
  • You should enable "Emulate terminal in output console". Otherwise, your program will fail to print text to a terminal
  • +
  • You should ensure that the working directory is microbit/src/N-name, with N-name being the directory of the chapter you +are reading. You can not run from the src directory since it contains no cargo file.
  • +
+

Meet your hardware

+

Let's get familiar with the hardware we'll be working with.

+

micro:bit

+

+ +

+

Here are some of the many components on the board:

+
    +
  • A microcontroller.
  • +
  • A number of LEDs, most notably the LED matrix on the back
  • +
  • Two user buttons as well as a reset button (the one next to the USB port).
  • +
  • One USB port.
  • +
  • A sensor that is both a magnetometer and an accelerometer
  • +
+

Of these components, the most important is the microcontroller (sometimes +shortened to "MCU" for "microcontroller unit"), which is the bigger of the two +black squares sitting on the side of the board with the USB port. The MCU is +what runs your code. You might sometimes read about "programming a board", when +in reality what we are doing is programming the MCU that is installed on the board.

+

If you happen to be interested in a more in detail description of the board you +can checkout the micro:bit website.

+

Since the MCU is so important, let's take a closer look at the one sitting on our board. +Note that only one of the following two sections applies to your board, depending on whether +you are working with a micro:bit v2 or v1.

+

Nordic nRF52833 (the "nRF52", micro:bit v2)

+

Our MCU has 73 tiny metal pins sitting right underneath it (it's a so called aQFN73 chip). +These pins are connected to traces, the little "roads" that act as the wires connecting components +together on the board. The MCU can dynamically alter the electrical properties +of the pins. This works similar to a light switch altering how electrical +current flows through a circuit. By enabling or disabling electrical current to +flow through a specific pin, an LED attached to that pin (via the traces) can +be turned on and off.

+

Each manufacturer uses a different part numbering scheme, but many will allow +you to determine information about a component simply by looking at the part +number. Looking at our MCU's part number (N52833 QIAAA0 2024AL, you probably cannot +see it with your bare eye, but it is on the chip), the n at the +front hints to us that this is a part manufactured by Nordic Semiconductor. +Looking up the part number on their website we quickly find the product page. +There we learn that our chip's main marketing point is that it is a +"Bluetooth Low Energy and 2.4 GHz SoC" (SoC being short for "System on a Chip"), +which explains the RF in the product name since RF is short for radio frequency. +If we search through the documentation of the chip linked on the product page +for a bit we find the product specification which contains chapter 10 "Ordering Information" +dedicated to explaining the weird chip naming. Here we learn that:

+
    +
  • The N52 is the MCU's series, indicating that there are other nRF52 MCUs
  • +
  • The 833 is the part code
  • +
  • The QI is the package code, short for aQFN73
  • +
  • The AA is the variant code, indicating how much RAM and flash memory the MCU has, +in our case 512 kilobyte flash and 128 kilobyte RAM
  • +
  • The A0 is the build code, indicating the hardware version (A) as well as the product configuration (0)
  • +
  • The 2024AL is a tracking code, hence it might differ on your chip
  • +
+

The product specification does of course contain a lot more useful information about +the chip, for example that it is based on an ARM® Cortex™-M4 32-bit processor.

+

Arm? Cortex-M4?

+

If our chip is manufactured by Nordic, then who is Arm? And if our chip is the +nRF52833, what is the Cortex-M4?

+

You might be surprised to hear that while "Arm-based" chips are quite +popular, the company behind the "Arm" trademark (Arm Holdings) doesn't +actually manufacture chips for purchase. Instead, their primary business +model is to just design parts of chips. They will then license those designs to +manufacturers, who will in turn implement the designs (perhaps with some of +their own tweaks) in the form of physical hardware that can then be sold. +Arm's strategy here is different from companies like Intel, which both +designs and manufactures their chips.

+

Arm licenses a bunch of different designs. Their "Cortex-M" family of designs +are mainly used as the core in microcontrollers. For example, the Cortex-M4 +(the core our chip is based on) is designed for low cost and low power usage. +The Cortex-M7 is higher cost, but with more features and performance.

+

Luckily, you don't need to know too much about different types of processors +or Cortex designs for the sake of this book. However, you are hopefully now a +bit more knowledgeable about the terminology of your device. While you are +working specifically with an nRF52833, you might find yourself reading +documentation and using tools for Cortex-M-based chips, as the nRF52833 is +based on a Cortex-M design.

+

Nordic nRF51822 (the "nRF51", micro:bit v1)

+

Our MCU has 48 tiny metal pins sitting right underneath it (it's a so called QFN48 chip). +These pins are connected to traces, the little "roads" that act as the wires connecting components +together on the board. The MCU can dynamically alter the electrical properties +of the pins. This works similar to a light switch altering how electrical +current flows through a circuit. By enabling or disabling electrical current to +flow through a specific pin, an LED attached to that pin (via the traces) can +be turned on and off.

+

Each manufacturer uses a different part numbering scheme, but many will allow +you to determine information about a component simply by looking at the part +number. Looking at our MCU's part number (N51822 QFAAH3 1951LN, you probably cannot +see it with your bare eye, but it is on the chip), the n at the +front hints to us that this is a part manufactured by Nordic Semiconductor. +Looking up the part number on their website we quickly find the product page. +There we learn that our chip's main marketing point is that it is a +"Bluetooth Low Energy and 2.4 GHz SoC" (SoC being short for "System on a Chip"), +which explains the RF in the product name since RF is short for radio frequency. +If we search through the documentation of the chip linked on the product page +for a bit we find the product specification which contains chapter 10 "Ordering Information" +dedicated to explaining the weird chip naming. Here we learn that:

+
    +
  • The N51 is the MCU's series, indicating that there are other nRF51 MCUs
  • +
  • The 822 is the part code
  • +
  • The QF is the package code, in this case short for QFN48
  • +
  • The AA is the variant code, indicating how much RAM and flash memory the MCU has, +in our case 256 kilobyte flash and 16 kilobyte RAM
  • +
  • The H3 is the build code, indicating the hardware version (H) as well as the product configuration (3)
  • +
  • The 1951LN is a tracking code, hence it might differ on your chip
  • +
+

The product specification does of course contain a lot more useful information about +the chip, for example that it is based on an ARM® Cortex™-M0 32-bit processor.

+

Arm? Cortex-M0?

+

If our chip is manufactured by Nordic, then who is Arm? And if our chip is the +nRF51822, what is the Cortex-M0?

+

You might be surprised to hear that while "Arm-based" chips are quite +popular, the company behind the "Arm" trademark (Arm Holdings) doesn't +actually manufacture chips for purchase. Instead, their primary business +model is to just design parts of chips. They will then license those designs to +manufacturers, who will in turn implement the designs (perhaps with some of +their own tweaks) in the form of physical hardware that can then be sold. +Arm's strategy here is different from companies like Intel, which both +designs and manufactures their chips.

+

Arm licenses a bunch of different designs. Their "Cortex-M" family of designs +are mainly used as the core in microcontrollers. For example, the Cortex-M0 +(the core our chip is based on) is designed for low cost and low power usage. +The Cortex-M7 is higher cost, but with more features and performance.

+

Luckily, you don't need to know too much about different types of processors +or Cortex designs for the sake of this book. However, you are hopefully now a +bit more knowledgeable about the terminology of your device. While you are +working specifically with an nRF51822, you might find yourself reading +documentation and using tools for Cortex-M-based chips, as the nRF51822 is +based on a Cortex-M design.

+

Rust Embedded terminology

+

Before we dive into programming the micro:bit let's have a quick look +at the libraries and terminology that will be important for all the +future chapters.

+

Abstraction layers

+

For any fully supported microcontroller/board with a microcontroller +you will usually hear the following terms being used for their levels +of abstraction:

+

Peripheral Access Crate (PAC)

+

The job of the PAC is to provide a safe (ish) direct interface to the +peripherals of the chip, allowing you to configure +every last bit however you want (of course also in wrong ways). Usually +you only ever have to deal with the PAC if either the layers that are +higher up don't fulfill your needs or when you are developing them. +The PAC we are (implicitly) going to use is either the one for the nRF52 +or for the nRF51.

+

The Hardware Abstraction Layer (HAL)

+

The job of the HAL is to build up on top of +the chip's PAC and provide an abstraction that is actually usable for +someone who does not know about all the special behaviour of this chip. +Usually they abstract whole peripherals away into single structs that can +for example be used to send data around via the peripheral. We are +going to use the nRF52-hal or the nRF51-hal respectively.

+

The Board Support Crate (historically called Board Support Package, or BSP)

+

The job of the BSP is to abstract a whole board +(such as the micro:bit) away at once. That means it has to provide +abstractions to use both the microcontroller as well as the sensors, +LEDs etc. that might be present on the board. Quite often (especially +with custom-made boards) you will just be working with a HAL for the +chip and build the drivers for the sensors either yourself or +search for them on crates.io. Luckily for us though, the micro:bit +does actually have a BSP so we are going to use that on top of our +HAL as well.

+

Unifying the layers

+

Next we are going to have a look at a very central piece of software +in the Rust Embedded world: embedded-hal. As its name suggests it +relates to the 2nd level of abstraction we got to know: the HALs. +The idea behind embedded-hal is to provide a set of traits that +describe behaviour which is usually shared across all implementations +of a specific peripheral in all the HALs. For example one would always +expect to have functions that are capable of turning the power on a pin +either on or off. For example to switch an LED on and off on the board. +This allows us to write a driver for, say a temperature sensor, that +can be used on any chip for which an implementation of the embedded-hal traits exists, +simply by writing the driver in such a way that it only relies on the +embedded-hal traits. Drivers that are written in such a way are called +platform agnostic and luckily for us most of the drivers on crates.io +are actually platform agnostic.

+

Further reading

+

If you want to learn more about these levels of abstraction, Franz Skarman, +a.k.a. TheZoq2, held a talk about this topic during Oxidize 2020, called +An Overview of the Embedded Rust Ecosystem.

+

LED roulette

+

Alright, let's start by building the following application:

+

+

+

I'm going to give you a high level API to implement this app but don't worry we'll do low level +stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging +process.

+

The starter code is in the src directory of the book repository. Inside that directory there are more +directories named after each chapter of this book. Most of those directories are starter Cargo +projects.

+

Now, jump into the src/05-led-roulette directory. Check the src/main.rs file:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_halt as _;
+use microbit as _;
+
+#[entry]
+fn main() -> ! {
+    let _y;
+    let x = 42;
+    _y = x;
+
+    // infinite loop; just so we don't leave this stack frame
+    loop {}
+}
+

Microcontroller programs are different from standard programs in two aspects: #![no_std] and +#![no_main].

+

The no_std attribute says that this program won't use the std crate, which assumes an underlying +OS; the program will instead use the core crate, a subset of std that can run on bare metal +systems (i.e., systems without OS abstractions like files and sockets).

+

The no_main attribute says that this program won't use the standard main interface, which is +tailored for command line applications that receive arguments. Instead of the standard main we'll +use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this +program we have named the entry point "main", but any other name could have been used. The entry +point function must have signature fn() -> !; this type indicates that the function can't return +-- this means that the program never terminates.

+

If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project +as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the +linking process to tailor the memory layout of the program to the requirements of the target device. +This modified linking process is a requirement of the cortex-m-rt crate.

+

Furthermore, there is also an Embed.toml file

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+[default.reset]
+halt_afterwards = true
+
+[default.rtt]
+enabled = false
+
+[default.gdb]
+enabled = true
+
+

This file tells cargo-embed that:

+
    +
  • we are working with either a nrf52833 or nrf51822, you will again have to remove the comments from the +chip you are using, just like you did in chapter 3.
  • +
  • we want to halt the chip after we flashed it so our program does not instantly jump to the loop
  • +
  • we want to disable RTT, RTT being a protocol that allows the chip to send text to a debugger. +You have in fact already seen RTT in action, it was the protocol that sent "Hello World" in chapter 3.
  • +
  • we want to enable GDB, this will be required for the debugging procedure
  • +
+

Alright, let's start by building this program.

+

Build it

+

The first step is to build our "binary" crate. Because the microcontroller has a different +architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple +as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the +argument of that flag: the name of the target.

+

As we already know the microcontroller on the micro:bit v2 has a Cortex-M4F processor in it, the one on v1 a Cortex-M0. +rustc knows how to cross-compile to the Cortex-M architecture and provides several different targets that cover the different processors +families within that architecture:

+
    +
  • thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors
  • +
  • thumbv7m-none-eabi, for the Cortex-M3 processor
  • +
  • thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors
  • +
  • thumbv7em-none-eabihf, for the Cortex-M4F and Cortex-M7F processors
  • +
  • thumbv8m.main-none-eabi, for the Cortex-M33 and Cortex-M35P processors
  • +
  • thumbv8m.main-none-eabihf, for the Cortex-M33F and Cortex-M35PF processors
  • +
+

For the micro:bit v2, we'll use the thumbv7em-none-eabihf target, for v1 the thumbv6m-none-eabi one. +Before cross-compiling you have to download a pre-compiled version of the standard library +(a reduced version of it, actually) for your target. That's done using rustup:

+
# For micro:bit v2
+$ rustup target add thumbv7em-none-eabihf
+# For micro:bit v1
+$ rustup target add thumbv6m-none-eabi
+
+

You only need to do the above step once; rustup will re-install a new standard library +(rust-std component) whenever you update your toolchain. Therefore you can skip this step, if you have already added the necessary target +while verifying your setup.

+

With the rust-std component in place you can now cross compile the program using Cargo:

+
# make sure you are in the `src/05-led-roulette` directory
+
+# For micro:bit v2
+$ cargo build --features v2 --target thumbv7em-none-eabihf
+   Compiling semver-parser v0.7.0
+   Compiling typenum v1.12.0
+   Compiling cortex-m v0.6.3
+   (...)
+   Compiling microbit-v2 v0.10.1
+    Finished dev [unoptimized + debuginfo] target(s) in 33.67s
+
+# For micro:bit v1
+$ cargo build --features v1 --target thumbv6m-none-eabi
+   Compiling fixed v1.2.0
+   Compiling syn v1.0.39
+   Compiling cortex-m v0.6.3
+   (...)
+   Compiling microbit v0.10.1
+	Finished dev [unoptimized + debuginfo] target(s) in 22.73s
+
+
+

NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml +file and build command above will ensure optimizations are off.

+
+

OK, now we have produced an executable. This executable won't blink any LEDs, +it's just a simplified version that we will build upon later in the chapter. +As a sanity check, let's verify that the produced executable is actually an ARM binary:

+
# For micro:bit v2
+# equivalent to `readelf -h target/thumbv7em-none-eabihf/debug/led-roulette`
+$ cargo readobj --features v2 --target thumbv7em-none-eabihf --bin led-roulette -- --file-headers
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+ELF Header:
+  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
+  Class:                             ELF32
+  Data:                              2's complement, little endian
+  Version:                           1 (current)
+  OS/ABI:                            UNIX - System V
+  ABI Version:                       0
+  Type:                              EXEC (Executable file)
+  Machine:                           ARM
+  Version:                           0x1
+  Entry point address:               0x117
+  Start of program headers:          52 (bytes into file)
+  Start of section headers:          793112 (bytes into file)
+  Flags:                             0x5000400
+  Size of this header:               52 (bytes)
+  Size of program headers:           32 (bytes)
+  Number of program headers:         4
+  Size of section headers:           40 (bytes)
+  Number of section headers:         21
+  Section header string table index: 19
+
+# For micro:bit v1
+# equivalent to `readelf -h target/thumbv6m-none-eabi/debug/led-roulette`
+$ cargo readobj --features v1 --target thumbv6m-none-eabi --bin led-roulette -- --file-headers
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+ELF Header:
+  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
+  Class:                             ELF32
+  Data:                              2's complement, little endian
+  Version:                           1 (current)
+  OS/ABI:                            UNIX - System V
+  ABI Version:                       0
+  Type:                              EXEC (Executable file)
+  Machine:                           ARM
+  Version:                           0x1
+  Entry point address:               0xC1
+  Start of program headers:          52 (bytes into file)
+  Start of section headers:          693196 (bytes into file)
+  Flags:                             0x5000200
+  Size of this header:               52 (bytes)
+  Size of program headers:           32 (bytes)
+  Number of program headers:         4
+  Size of section headers:           40 (bytes)
+  Number of section headers:         22
+  Section header string table index: 20
+
+

Next, we'll flash the program into our microcontroller.

+

Flash it

+

Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once +flashed, the microcontroller will execute the flashed program every time it is powered on.

+

In this case, our led-roulette program will be the only program in the microcontroller memory. +By this I mean that there's nothing else running on the microcontroller: no OS, no "daemon", +nothing. led-roulette has full control over the device.

+

Flashing the binary itself is quite simple thanks to cargo embed.

+

Before executing that command though, let's look into what it actually does. If you look at the side of your micro:bit +with the USB connector facing upwards you will notice, that there are actually 2 black squares on there +(on the micro:bit v2 there is a third and biggest one, which is a speaker), one is our MCU +we already talked about but what purpose does the other one serve? The other chip has 3 main purposes:

+
    +
  1. Provide power from the USB connector to our MCU
  2. +
  3. Provide a serial to USB bridge for our MCU (we will look into that in a later chapter)
  4. +
  5. Being a programmer/debugger (this is the relevant purpose for now)
  6. +
+

Basically this chip acts as a bridge between our computer (to which it is connected via USB) and the MCU (to which it is +connected via traces and communicates with using the SWD protocol). This bridge enables us to flash new binaries on to +the MCU, inspect its state via a debugger and other things.

+

So lets flash it!

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+  (...)
+     Erasing sectors ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  4.21KiB/s (eta 0s )
+ Programming pages   ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  2.71KiB/s (eta 0s )
+    Finished flashing in 0.608s
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+  (...)
+     Erasing sectors ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  4.14KiB/s (eta 0s )
+ Programming pages   ✔ [00:00:00] [####################################################################################################################################################]  2.00KiB/ 2.00KiB @  2.69KiB/s (eta 0s )
+    Finished flashing in 0.614s
+
+

You will notice that cargo-embed blocks after outputting the last line, this is intended and you should not close it +since we need it in this state for the next step: debugging it! Furthermore, you will have noticed that the cargo build +and cargo embed are actually passed the same flags, this is because cargo embed actually executes the build and then +flashes the resulting binary on to the chip, hence you can leave out the cargo build step in the future if you +want to flash your code right away.

+

Debug it

+

How does this even work?

+

Before we debug our little program let's take a moment to quickly understand what is actually +happening here. In the previous chapter we already discussed the purpose of the second chip +on the board as well as how it talks to our computer, but how can we actually use it?

+

The little option default.gdb.enabled = true in Embed.toml made cargo-embed open a so-called "GDB stub" after flashing, +this is a server that our GDB can connect to and send commands like "set a breakpoint at address X" to. The server can then decide +on its own how to handle this command. In the case of the cargo-embed GDB stub it will forward the +command to the debugging probe on the board via USB which then does the job of actually talking to the +MCU for us.

+

Let's debug!

+

Since cargo-embed is blocking our current shell we can simply open a new one and cd back into our project +directory. Once we are there we first have to open the binary in gdb like this:

+
# For micro:bit v2
+$ gdb target/thumbv7em-none-eabihf/debug/led-roulette
+
+# For micro:bit v1
+$ gdb target/thumbv6m-none-eabi/debug/led-roulette
+
+
+

NOTE: Depending on which GDB you installed you will have to use a different command to launch it, +check out chapter 3 if you forgot which one it was.

+
+
+

NOTE: If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory +error, try adding ../../ to the file path, for example:

+
$ gdb ../../target/thumbv7em-none-eabihf/debug/led-roulette
+
+

This is caused by each example project being in a workspace that contains the entire book, and workspaces have +a single target directory. Check out Workspaces chapter in Rust Book for more.

+
+
+

NOTE: If cargo-embed prints a lot of warnings here don't worry about it. As of now it does not fully +implement the GDB protocol and thus might not recognize all the commands your GDB is sending to it, +as long as it does not crash, you are fine.

+
+

Next we will have to connect to the GDB stub. It runs on localhost:1337 per default so in order to +connect to it run the following:

+
(gdb) target remote :1337
+Remote debugging using :1337
+0x00000116 in nrf52833_pac::{{impl}}::fmt (self=0xd472e165, f=0x3c195ff7) at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/nrf52833-pac-0.9.0/src/lib.rs:157
+157     #[derive(Copy, Clone, Debug)]
+
+

Next what we want to do is get to the main function of our program. +We will do this by first setting a breakpoint there and the continuing +program execution until we hit the breakpoint:

+
(gdb) break main
+Breakpoint 1 at 0x104: file src/05-led-roulette/src/main.rs, line 9.
+Note: automatically using hardware breakpoints for read-only addresses.
+(gdb) continue
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9
+9       #[entry]
+
+

Breakpoints can be used to stop the normal flow of a program. The continue command will let the +program run freely until it reaches a breakpoint. In this case, until it reaches the main +function because there's a breakpoint there.

+

Note that GDB output says "Breakpoint 1". Remember that our processor can only use a limited amount of these +breakpoints, so it's a good idea to pay attention to these messages. If you happen to run out of breakpoints, +you can list all the current ones with info break and delete desired ones with delete <breakpoint-num>.

+

For a nicer debugging experience, we'll be using GDB's Text User Interface (TUI). To enter into that +mode, on the GDB shell enter the following command:

+
(gdb) layout src
+
+
+

NOTE: Apologies Windows users. The GDB shipped with the GNU ARM Embedded Toolchain doesn't +support this TUI mode :-(.

+
+

GDB session

+

GDB's break command does not only work for function names, it can also break at certain line numbers. +If we wanted to break in line 13 we can simply do:

+
(gdb) break 13
+Breakpoint 2 at 0x110: file src/05-led-roulette/src/main.rs, line 13.
+(gdb) continue
+Continuing.
+
+Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:13
+(gdb)
+
+

At any point you can leave the TUI mode using the following command:

+
(gdb) tui disable
+
+

We are now "on" the _y = x statement; that statement hasn't been executed yet. This means that x +is initialized but _y is not. Let's inspect those stack/local variables using the print command:

+
(gdb) print x
+$1 = 42
+(gdb) print &x
+$2 = (*mut i32) 0x20003fe8
+(gdb)
+
+

As expected, x contains the value 42. The command print &x prints the address of the variable x. +The interesting bit here is that GDB output shows the type of the reference: i32*, a pointer to an i32 value.

+

If we want to continue the program execution line by line we can do that using the next command +so let's proceed to the loop {} statement:

+
(gdb) next
+16          loop {}
+
+

And _y should now be initialized.

+
(gdb) print _y
+$5 = 42
+
+

Instead of printing the local variables one by one, you can also use the info locals command:

+
(gdb) info locals
+x = 42
+_y = 42
+(gdb)
+
+

If we use next again on top of the loop {} statement, we'll get stuck because the program will +never pass that statement. Instead, we'll switch to the disassemble view with the layout asm +command and advance one instruction at a time using stepi. You can always switch back into Rust +source code view later by issuing the layout src command again.

+
+

NOTE: If you used the next or continue command by mistake and GDB got stuck, you can get unstuck by hitting Ctrl+C.

+
+
(gdb) layout asm
+
+

GDB session

+

If you are not using the TUI mode, you can use the disassemble /m command to disassemble the +program around the line you are currently at.

+
(gdb) disassemble /m
+Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E:
+10      fn main() -> ! {
+   0x0000010a <+0>:     sub     sp, #8
+   0x0000010c <+2>:     movs    r0, #42 ; 0x2a
+
+11          let _y;
+12          let x = 42;
+   0x0000010e <+4>:     str     r0, [sp, #0]
+
+13          _y = x;
+   0x00000110 <+6>:     str     r0, [sp, #4]
+
+14
+15          // infinite loop; just so we don't leave this stack frame
+16          loop {}
+=> 0x00000112 <+8>:     b.n     0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10>
+   0x00000114 <+10>:    b.n     0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10>
+
+End of assembler dump.
+
+

See the fat arrow => on the left side? It shows the instruction the processor will execute next.

+

If not inside the TUI mode on each stepi command GDB will print the statement and the line number +of the instruction the processor will execute next.

+
(gdb) stepi
+16          loop {}
+(gdb) stepi
+16          loop {}
+
+

One last trick before we move to something more interesting. Enter the following commands into GDB:

+
(gdb) monitor reset
+(gdb) c
+Continuing.
+
+Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9
+9       #[entry]
+(gdb)
+
+

We are now back at the beginning of main!

+

monitor reset will reset the microcontroller and stop it right at the program entry point. +The following continue command will let the program run freely until it reaches the main +function that has a breakpoint on it.

+

This combo is handy when you, by mistake, skipped over a part of the program that you were +interested in inspecting. You can easily roll back the state of your program back to its very +beginning.

+
+

The fine print: This reset command doesn't clear or touch RAM. That memory will retain its +values from the previous run. That shouldn't be a problem though, unless your program behavior +depends on the value of uninitialized variables but that's the definition of Undefined Behavior +(UB).

+
+

We are done with this debug session. You can end it with the quit command.

+
(gdb) quit
+A debugging session is active.
+
+        Inferior 1 [Remote target] will be detached.
+
+Quit anyway? (y or n) y
+Detaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target
+Ending remote debugging.
+[Inferior 1 (Remote target) detached]
+
+
+

NOTE: If the default GDB CLI is not to your liking check out gdb-dashboard. It uses Python to +turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view +and other things.

+
+

If you want to learn more about what GDB can do, check out the section How to use GDB.

+

What's next? The high level API I promised.

+

Light it up

+

embedded-hal

+

In this chapter we are going to make one of the many LEDs on the back of the micro:bit light up since this is +basically the "Hello World" of embedded programming. In order to get this task done we will use one of the traits +provided by embedded-hal, specifically the OutputPin trait which allows us to turn a pin on or off.

+

The micro:bit LEDs

+

On the back of the micro:bit you can see a 5x5 square of LEDs, usually called an LED matrix. This matrix alignment is +used so that instead of having to use 25 separate pins to drive every single one of the LEDs, we can just use 10 (5+5) pins in +order to control which column and which row of our matrix lights up.

+
+

NOTE that the micro:bit v1 team implemented this a little differently. Their schematic page says +that it is actually implemented as a 3x9 matrix but a few columns simply remain unused.

+
+

Usually in order to determine which specific pins we have to control in +order to light a specific LED up we would now have to read the +micro:bit v2 schematic or the micro:bit v1 schematic respectively. +Luckily for us though we can use the aforementioned micro:bit BSP +which abstracts all of this nicely away from us.

+

Actually lighting it up!

+

The code required to light up an LED in the matrix is actually quite simple but it requires a bit of setup. First take +a look at it and then we can go through it step by step:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_halt as _;
+use microbit::board::Board;
+use microbit::hal::prelude::*;
+
+#[entry]
+fn main() -> ! {
+    let mut board = Board::take().unwrap();
+
+    board.display_pins.col1.set_low().unwrap();
+    board.display_pins.row1.set_high().unwrap();
+
+    loop {}
+}
+

The first few lines until the main function just do some basic imports and setup we already looked at before. +However, the main function looks pretty different to what we have seen up to now.

+

The first line is related to how most HALs written in Rust work internally. +As discussed before they are built on top of PAC crates which own (in the Rust sense) +all the peripherals of a chip. let mut board = Board::take().unwrap(); basically takes all +these peripherals from the PAC and binds them to a variable. In this specific case we are +not only working with a HAL but with an entire BSP, so this also takes ownership +of the Rust representation of the other chips on the board.

+
+

NOTE: If you are wondering why we have to call unwrap() here, in theory it is possible for take() to be called +more than once. This would lead to the peripherals being represented by two separate variables and thus lots of +possible confusing behaviour because two variables modify the same resource. In order to avoid this, PACs are +implemented in a way that it would panic if you tried to take the peripherals twice.

+
+

Now we can light the LED connected to row1, col1 up by setting the row1 pin to high (i.e. switching it on). +The reason we can leave col1 set to low is because of how the LED matrix circuit works. Furthermore, embedded-hal is +designed in a way that every operation on hardware can possibly return an error, even just toggling a pin on or off. Since +that is highly unlikely in our case, we can just unwrap() the result.

+

Testing it

+

Testing our little program is quite simple. First put it into src/main.rs. Afterwards we simply have to run the +cargo embed command from the last section again, let it flash and just like before. Then open our GDB and connect +to the GDB stub:

+
$ # Your GDB debug command from the last section
+(gdb) target remote :1337
+Remote debugging using :1337
+cortex_m_rt::Reset () at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.12/src/lib.rs:489
+489     pub unsafe extern "C" fn Reset() -> ! {
+(gdb)
+
+

If we now let the program run via the GDB continue command, one of the LEDs on the back of the micro:bit should light +up.

+

It blinks

+

Delaying

+

Now we're going to take a brief look into delay abstractions provided by embedded-hal +before combining this with the GPIO abstractions from the previous chapter in order to +finally make an LED blink.

+

embedded-hal provides us with two abstractions to delay the execution of our program: +DelayUs and DelayMs. Both of them essentially work the exact same way except +that they accept different units for their delay function.

+

Inside our MCU, several so-called "timers" exist. They can do various things regarding time for us, +including simply pausing the execution of our program for a fixed amount of time. A very +simple delay-based program that prints something every second might for example look like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+use microbit::board::Board;
+use microbit::hal::timer::Timer;
+use microbit::hal::prelude::*;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+
+    let mut timer = Timer::new(board.TIMER0);
+
+    loop {
+        timer.delay_ms(1000u16);
+        rprintln!("1000 ms passed");
+    }
+}
+
+

Note that we changed our panic implementation from panic_halt to +panic_rtt_target here. This will require you to uncomment the two +RTT lines from Cargo.toml and comment the panic-halt one out, +since Rust only allows one panic implementation at a time.

+

In order to actually see the prints we have to change Embed.toml like this:

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+[default.reset]
+halt_afterwards = false
+
+[default.rtt]
+enabled = true
+
+[default.gdb]
+enabled = false
+
+

And now after putting the code into src/main.rs and another quick cargo embed (again with the same flags you used before) +you should see "1000 ms passed" being sent to your console every second from your MCU.

+

Blinking

+

Now we've arrived at the point where we can combine our new knowledge about GPIO and delay abstractions +in order to actually make an LED on the back of the micro:bit blink. The resulting program is really just +a mash-up of the one above and the one that turned an LED on in the last section and looks like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+use microbit::board::Board;
+use microbit::hal::timer::Timer;
+use microbit::hal::prelude::*;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+
+    let mut timer = Timer::new(board.TIMER0);
+
+    board.display_pins.col1.set_low().unwrap();
+    let mut row1 = board.display_pins.row1;
+
+    loop {
+        row1.set_low().unwrap();
+        rprintln!("Dark!");
+        timer.delay_ms(1_000_u16);
+        row1.set_high().unwrap();
+        rprintln!("Light!");
+        timer.delay_ms(1_000_u16);
+    }
+}
+
+

And after putting the code into src/main.rs and a final cargo embed (with the proper flags) +you should see the LED we light up before blinking as well as a print, every time the LED changes from off to on and vice versa.

+

The challenge

+

You are now well armed to face a challenge! Your task will be to implement the application I showed +you at the beginning of this chapter.

+

+

+

If you can't exactly see what's happening here it is in a much slower version:

+

+

+

Since working with the LED pins separately is quite annoying +(especially if you have to use basically all of them like here) +you can use the display API provided by the BSP. It works like this:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use microbit::{
+    board::Board,
+    display::blocking::Display,
+    hal::{prelude::*, Timer},
+};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+
+    let board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+    let light_it_all = [
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+        [1, 1, 1, 1, 1],
+    ];
+
+    loop {
+        // Show light_it_all for 1000ms
+        display.show(&mut timer, light_it_all, 1000);
+        // clear the display again
+        display.clear();
+        timer.delay_ms(1000_u32);
+    }
+}
+

Equipped with this API your task basically boils down to just having +to calculate the proper image matrix and passing it into the BSP.

+

My solution

+

What solution did you come up with?

+

Here's mine, it's probably one of the simplest (but of course not most +beautiful) way to generate the required matrix:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use microbit::{
+    board::Board,
+    display::blocking::Display,
+    hal::Timer,
+};
+
+const PIXELS: [(usize, usize); 16] = [
+    (0,0), (0,1), (0,2), (0,3), (0,4), (1,4), (2,4), (3,4), (4,4),
+    (4,3), (4,2), (4,1), (4,0), (3,0), (2,0), (1,0)
+];
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+
+    let board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+    let mut leds = [
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0],
+    ];
+
+    let mut last_led = (0,0);
+
+    loop {
+        for current_led in PIXELS.iter() {
+            leds[last_led.0][last_led.1] = 0;
+            leds[current_led.0][current_led.1] = 1;
+            display.show(&mut timer, leds, 30);
+            last_led = *current_led;
+        }
+    }
+}
+

One more thing! Check that your solution also works when compiled in "release" mode:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf --release
+  (...)
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi --release
+  (...)
+
+

If you want to debug your "release" mode binary you'll have to use a different GDB command:

+
# For micro:bit v2
+$ gdb target/thumbv7em-none-eabihf/release/led-roulette
+
+# For micro:bit v1
+$ gdb target/thumbv6m-none-eabi/release/led-roulette
+
+

Binary size is something we should always keep an eye on! How big is your solution? You can check +that using the size command on the release binary:

+
# For micro:bit v2
+$ cargo size --features v2 --target thumbv7em-none-eabihf -- -A
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section               size        addr
+.vector_table          256         0x0
+.text                26984       0x100
+.rodata               2732      0x6a68
+.data                    0  0x20000000
+.bss                  1092  0x20000000
+.uninit                  0  0x20000444
+.debug_abbrev        33941         0x0
+.debug_info         494113         0x0
+.debug_aranges       23528         0x0
+.debug_ranges       130824         0x0
+.debug_str          498781         0x0
+.debug_pubnames     143351         0x0
+.debug_pubtypes     124464         0x0
+.ARM.attributes         58         0x0
+.debug_frame         69128         0x0
+.debug_line         290580         0x0
+.debug_loc            1449         0x0
+.comment               109         0x0
+Total              1841390
+
+
+$ cargo size --features v2 --target thumbv7em-none-eabihf --release -- -A
+    Finished release [optimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section              size        addr
+.vector_table         256         0x0
+.text                6332       0x100
+.rodata               648      0x19bc
+.data                   0  0x20000000
+.bss                 1076  0x20000000
+.uninit                 0  0x20000434
+.debug_loc           9036         0x0
+.debug_abbrev        2754         0x0
+.debug_info         96460         0x0
+.debug_aranges       1120         0x0
+.debug_ranges       11520         0x0
+.debug_str          71325         0x0
+.debug_pubnames     32316         0x0
+.debug_pubtypes     29294         0x0
+.ARM.attributes        58         0x0
+.debug_frame         2108         0x0
+.debug_line         19303         0x0
+.comment              109         0x0
+Total              283715
+
+# micro:bit v1
+$ cargo size --features v1 --target thumbv6m-none-eabi -- -A
+    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section               size        addr
+.vector_table          168         0x0
+.text                28584        0xa8
+.rodata               2948      0x7050
+.data                    0  0x20000000
+.bss                  1092  0x20000000
+.uninit                  0  0x20000444
+.debug_abbrev        30020         0x0
+.debug_info         373392         0x0
+.debug_aranges       18344         0x0
+.debug_ranges        89656         0x0
+.debug_str          375887         0x0
+.debug_pubnames     115633         0x0
+.debug_pubtypes      86658         0x0
+.ARM.attributes         50         0x0
+.debug_frame         54144         0x0
+.debug_line         237714         0x0
+.debug_loc            1499         0x0
+.comment               109         0x0
+Total              1415898
+
+$ cargo size --features v1 --target thumbv6m-none-eabi --release -- -A
+    Finished release [optimized + debuginfo] target(s) in 0.02s
+led-roulette  :
+section              size        addr
+.vector_table         168         0x0
+.text                4848        0xa8
+.rodata               648      0x1398
+.data                   0  0x20000000
+.bss                 1076  0x20000000
+.uninit                 0  0x20000434
+.debug_loc           9705         0x0
+.debug_abbrev        3235         0x0
+.debug_info         61908         0x0
+.debug_aranges       1208         0x0
+.debug_ranges        5784         0x0
+.debug_str          57358         0x0
+.debug_pubnames     22959         0x0
+.debug_pubtypes     18891         0x0
+.ARM.attributes        50         0x0
+.debug_frame         2316         0x0
+.debug_line         18444         0x0
+.comment               19         0x0
+Total              208617
+
+
+
+

NOTE The Cargo project is already configured to build the release binary using LTO.

+
+

Know how to read this output? The text section contains the program instructions. On the other hand, +the data and bss sections contain variables statically allocated in RAM (static variables). +If you remember back in the specification of the microcontroller on your micro:bit, you should +notice that its flash memory is actually far too small to contain this binary, so how is this possible? +As we can see from the size statistics most of the binary is actually made up of debugging related +sections, those are however not flashed to the microcontroller at any time, after all they aren't +relevant for the execution.

+

Serial communication

+ +

+ +

+
+

+This is what we'll be using. I hope your computer has one! +

+

Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got +replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but +with the communication protocol that this cable is/was usually used for.

+

So what's this serial communication? It's an asynchronous communication protocol where two +devices exchange data serially, as in one bit at a time, using two data lines (plus a common +ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock +signal. Instead, both parties must agree on how fast data will be sent along the wire before the +communication occurs. This protocol allows duplex communication as data can be sent from A to B +and from B to A simultaneously.

+

We'll be using this protocol to exchange data between the microcontroller and your computer. Now you might +be asking yourself why exactly we aren't using RTT for this like we did before. RTT is a protocol that is meant +to be used solely for debugging. You will most definitely not be able to find a device that actually uses RTT +to communicate with some other device in production. However, serial communication is used quite often. For +example some GPS receivers send the positioning information they receive via serial communication.

+

The next practical question you probably want to ask is: How fast can we send data through this +protocol?

+

This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 +to 2 stop bits. The speed of the protocol is known as baud rate and it's quoted in bits per +second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps.

+

To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 +stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each +one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data +rate will probably be lower because of processing times on the slower side of the communication (the +microcontroller).

+

Today's computers don't support the serial communication protocol. So you can't directly connect +your computer to the microcontroller. Luckily for us though, the debug probe on the micro:bit has a so-called +USB-to-serial converter. This means that the converter will sit between the two and expose a serial interface to +the microcontroller and a USB interface to your computer. The microcontroller will see your computer as +another serial device and your computer will see the microcontroller as a virtual serial device.

+

Now, let's get familiar with the serial module and the serial communication tools that your OS +offers. Pick a route:

+ +

*nix tooling

+

Connecting the micro:bit board

+

If you connect the micro:bit board to your computer you +should see a new TTY device appear in /dev.

+
$ # Linux
+$ dmesg | tail | grep -i tty
+[63712.446286] cdc_acm 1-1.7:1.1: ttyACM0: USB ACM device
+
+

This is the USB <-> Serial device. On Linux, it's named tty* (usually +ttyACM* or ttyUSB*). +On Mac OS ls /dev/cu.usbmodem* will show the serial device.

+

But what exactly is ttyACM0? It's a file of course! +Everything is a file in *nix:

+
$ ls -l /dev/ttyACM0
+crw-rw----. 1 root plugdev 166, 0 Jan 21 11:56 /dev/ttyACM0
+
+

You can send out data by simply writing to this file:

+
$ echo 'Hello, world!' > /dev/ttyACM0
+
+

You should see the orange LED on the micro:bit, right next to the USB port, blink for a moment, +whenever you enter this command.

+

minicom

+

We'll use the program minicom to interact with the serial device using the keyboard.

+

We must configure minicom before we use it. There are quite a few ways to do that but we'll use a +.minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following +contents:

+
$ cat ~/.minirc.dfl
+pu baudrate 115200
+pu bits 8
+pu parity N
+pu stopbits 1
+pu rtscts No
+pu xonxoff No
+
+
+

NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it.

+
+

That file should be straightforward to read (except for the last two lines), but nonetheless let's +go over it line by line:

+
    +
  • pu baudrate 115200. Sets baud rate to 115200 bps.
  • +
  • pu bits 8. 8 bits per frame.
  • +
  • pu parity N. No parity check.
  • +
  • pu stopbits 1. 1 stop bit.
  • +
  • pu rtscts No. No hardware control flow.
  • +
  • pu xonxoff No. No software control flow.
  • +
+

Once that's in place, we can launch minicom.

+
$ # NOTE you may need to use a different device here
+$ minicom -D /dev/ttyACM0 -b 115200
+
+

This tells minicom to open the serial device at /dev/ttyACM0 and set its +baud rate to 115200. A text-based user interface (TUI) will pop out.

+

+ +

+

You can now send data using the keyboard! Go ahead and type something. Note that +the text UI will not echo back what you type. If you pay attention to the yellow LED +on top of the micro:bit though, you will notice that it blinks whenever you type something.

+

minicom commands

+

minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On +Mac, the shortcuts start with the Meta key. Some useful commands below:

+
    +
  • Ctrl+A + Z. Minicom Command Summary
  • +
  • Ctrl+A + C. Clear the screen
  • +
  • Ctrl+A + X. Exit and reset
  • +
  • Ctrl+A + Q. Quit with no reset
  • +
+
+

NOTE Mac users: In the above commands, replace Ctrl+A with Meta.

+
+

Windows tooling

+

Start by unplugging your micro:bit.

+

Before plugging the micro:bit, run the following command on the terminal:

+
$ mode
+
+

It will print a list of devices that are connected to your computer. The ones that start with COM in +their names are serial devices. This is the kind of device we'll be working with. Take note of all +the COM ports mode outputs before plugging the serial module.

+

Now, plug in the micro:bit and run the mode command again. If you see a new +COM port appear on the list, then that's the COM port assigned to the +serial functionality on the micro:bit.

+

Now launch putty. A GUI will pop out.

+

+ +

+

On the starter screen, which should have the "Session" category open, pick "Serial" as the +"Connection type". On the "Serial line" field enter the COM device you got on the previous step, +for example COM3.

+

Next, pick the "Connection/Serial" category from the menu on the left. On this new view, make sure +that the serial port is configured as follows:

+
    +
  • "Speed (baud)": 115200
  • +
  • "Data bits": 8
  • +
  • "Stop bits": 1
  • +
  • "Parity": None
  • +
  • "Flow control": None
  • +
+

Finally, click the Open button. A console will show up now:

+

+ +

+

If you type on this console, the yellow LED on top of the micro:bit will blink. Each keystroke +should make the LED blink once. Note that the console won't echo back what you type so the screen +will remain blank.

+

UART

+

The microcontroller has a peripheral called UART, which stands for Universal +Asynchronous Receiver/Transmitter. This peripheral can be configured to work with +several communication protocols like the serial communication protocol.

+

Throughout this chapter, we'll use serial communication to exchange information between the +microcontroller and your computer.

+
+

NOTE that on the micro:bit v2 we will use the so called UARTE peripheral which behaves +just like a regular UART, except that the HAL has to talk to it differently. +However, this will of course not be our concern.

+
+

Setup

+

As always from now on you will have to modify the Embed.toml to match your micro:bit version:

+
[default.general]
+# chip = "nrf52833_xxAA" # uncomment this line for micro:bit V2
+# chip = "nrf51822_xxAA" # uncomment this line for micro:bit V1
+
+[default.reset]
+halt_afterwards = false
+
+[default.rtt]
+enabled = true
+
+[default.gdb]
+enabled = false
+
+

Send a single byte

+

Our first task will be to send a single byte from the microcontroller to the computer over the serial +connection.

+

In order to do that we will use the following snippet (this one is already in 07-uart/src/main.rs):

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    nb::block!(serial.write(b'X')).unwrap();
+    nb::block!(serial.flush()).unwrap();
+
+    loop {}
+}
+

The most prevalent new thing here is obviously the cfg directives to conditionally include/exclude +parts of the code. This is mostly just because we want to work with a regular UART for the micro:bit v1 +and with the UARTE for micro:bit v2.

+

You will also have noticed that this is the first time we are including some code that is not from a library, +namely the serial_setup module. Its only purpose is to provide a nice wrapper around the UARTE +so we can use it the exact same way as the UART via the embedded_hal::serial traits. If you want, you can +check out what exactly the module does, but it is not required to understand this chapter in general.

+

Apart from those differences, the initialization procedures for the UART and the UARTE are quite similar so we'll +discuss the initialization of just UARTE. The UARTE is initialized with this piece of code:

+
uarte::Uarte::new(
+    board.UARTE0,
+    board.uart.into(),
+    Parity::EXCLUDED,
+    Baudrate::BAUD115200,
+);
+
+

This function takes ownership of the UARTE peripheral representation in Rust (board.UARTE0) and the TX/RX pins +on the board (board.uart.into()) so nobody else can mess with either the UARTE peripheral or our pins while +we are using them. After that we pass two configuration options to the constructor: the baudrate (that one should be +familiar) as well as an option called "parity". Parity is a way to allow serial communication lines to check whether +the data they received was corrupted during transmission. We don't want to use that here so we simply exclude it. +Then we wrap it up in the UartePort type so we can use it the same way as the micro:bit v1's serial.

+

After the initialization, we send our X via the newly created uart instance. The block! macro here is the nb::block! +macro. nb is a (quoting from its description) "Minimal and reusable non-blocking I/O layer". It allows us to write +code that can conduct hardware operations in the background while we go and do other work (non-blocking). However, +in this and many other cases we have no interest in doing some other work so we just call block! which will wait until +the I/O operation is done and has either succeeded or failed and then continue execution normally.

+

Last but not least, we flush() the serial port. This is because an implementor of the embedded-hal::serial traits may +decide to buffer output until it has received a certain number of bytes to send (this is the case with the UARTE implementation). +Calling flush() forces it to write the bytes it currently has right now instead of waiting for more.

+

Testing it

+

Before flashing this you should make sure to start your minicom/PuTTY as the data we receive via our serial +communication is not backed up or anything, we have to view it live. Once your serial monitor is up you can +flash the program just like in chapter 5:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+  (...)
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+
+

And after the flashing is finished, you should see the character X show up on your minicom/PuTTY terminal, congrats!

+

Send a string

+

The next task will be to send a whole string from the microcontroller to your computer.

+

I want you to send the string "The quick brown fox jumps over the lazy dog." from the microcontroller to +your computer.

+

It's your turn to write the program.

+

Naive approach and write!

+

Naive approach

+

You probably came up with a program similar to the following:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    for byte in b"The quick brown fox jumps over the lazy dog.\r\n".iter() {
+        nb::block!(serial.write(*byte)).unwrap();
+    }
+    nb::block!(serial.flush()).unwrap();
+
+    loop {}
+}
+
+

While this is a perfectly valid implementation, at some point +you might want to have all the nice perks of print! such +as argument formatting and so on. If you are wondering how to do that, read on.

+

write! and core::fmt::Write

+

The core::fmt::Write trait allows us to use any struct that implements +it in basically the same way as we use print! in the std world. +In this case, the Uart struct from the nrf HAL does implement core::fmt::Write +so we can refactor our previous program into this:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use core::fmt::Write;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    write!(serial, "The quick brown fox jumps over the lazy dog.\r\n").unwrap();
+    nb::block!(serial.flush()).unwrap();
+
+    loop {}
+}
+
+

If you were to flash this program onto your micro:bit, you'll +see that it is functionally equivalent to the iterator-based +program you came up with.

+

Receive a single byte

+

So far we can send data from the microcontroller to your computer. It's time to try the opposite: receiving +data from your computer. Luckily embedded-hal has again got us covered with this one:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    loop {
+        let byte = nb::block!(serial.read()).unwrap();
+        rprintln!("{}", byte);
+    }
+}
+

The only part that changed, compared to our send byte program, is the loop +at the end of main(). Here we use the read() function, provided by embedded-hal, +in order to wait until a byte is available and read it. Then we print that byte +into our RTT debugging console to see whether stuff is actually arriving.

+

Note that if you flash this program and start typing characters inside minicom to +send them to your microcontroller you'll only be able to see numbers inside your +RTT console since we are not converting the u8 we received into an actual char. +Since the conversion from u8 to char is quite simple, I'll leave this task to +you if you really do want to see the characters inside the RTT console.

+

Echo server

+

Let's merge transmission and reception into a single program and write an echo server. An echo +server sends back to the client the same text it receives. For this application, the microcontroller +will be the server and you and your computer will be the client.

+

This should be straightforward to implement. (hint: do it byte by byte)

+

Reverse a string

+

Alright, next let's make the server more interesting by having it respond to the client with the +reverse of the text that they sent. The server will respond to the client every time they press the +ENTER key. Each server response will be in a new line.

+

This time you'll need a buffer; you can use heapless::Vec. Here's the starter code:

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use core::fmt::Write;
+use heapless::Vec;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        // TODO Receive a user request. Each user request ends with ENTER
+        // NOTE `buffer.push` returns a `Result`. Handle the error by responding
+        // with an error message.
+
+        // TODO Send back the reversed string
+    }
+}
+

My solution

+
#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use core::fmt::Write;
+use heapless::Vec;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::prelude::*,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::prelude::*,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    // A buffer with 32 bytes of capacity
+    let mut buffer: Vec<u8, 32> = Vec::new();
+
+    loop {
+        buffer.clear();
+
+        loop {
+            // We assume that the receiving cannot fail
+            let byte = nb::block!(serial.read()).unwrap();
+
+            if buffer.push(byte).is_err() {
+                write!(serial, "error: buffer full\r\n").unwrap();
+                break;
+            }
+
+            if byte == 13 {
+                for byte in buffer.iter().rev().chain(&[b'\n', b'\r']) {
+                    nb::block!(serial.write(*byte)).unwrap();
+                }
+                break;
+            }
+        }
+        nb::block!(serial.flush()).unwrap()
+    }
+}
+

I2C

+

We just saw the serial communication protocol. It's a widely used protocol because it's very +simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and +USB.

+

However, its simplicity is also a downside. More elaborated data exchanges, like reading a digital +sensor, would require the sensor vendor to come up with another protocol on top of it.

+

(Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some +of them are widely used in digital sensors.

+

The micro:bit board we are using has two motion sensors in it: an accelerometer and a magnetometer. +Both of these sensors are packaged into a single component and can be accessed via an I2C bus.

+

I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It +uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is +used to synchronize the communication, this is a synchronous protocol.

+

+ +

+

This protocol uses a controller target model where the controller is the device that starts and +drives the communication with a target device. Several devices, both controllers and targets, can be +connected to the same bus at the same time. A controller device can communicate with a specific target +device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. +Once a controller has started a communication with a target, no other device can make use of the bus +until the controller stops the communication.

+

The clock line determines how fast data can be exchanged and it usually operates at a frequency of +100 kHz (standard mode) or 400 kHz (fast mode).

+

General protocol

+

The I2C protocol is more elaborate than the serial communication protocol because it has to support +communication between several devices. Let's see how it works using examples:

+

Controller -> Target

+

If the Controller wants to send data to the Target:

+

+ +

+
    +
  1. Controller: Broadcast START
  2. +
  3. C: Broadcast target address (7 bits) + the R/W (8th) bit set to WRITE
  4. +
  5. Target: Responds ACK (ACKnowledgement)
  6. +
  7. C: Send one byte
  8. +
  9. T: Responds ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. C: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+

Controller <- Target

+

If the controller wants to read data from the target:

+

+ +

+
    +
  1. C: Broadcast START
  2. +
  3. C: Broadcast target address (7 bits) + the R/W (8th) bit set to READ
  4. +
  5. T: Responds with ACK
  6. +
  7. T: Send byte
  8. +
  9. C: Responds with ACK
  10. +
  11. Repeat steps 4 and 5 zero or more times
  12. +
  13. C: Broadcast STOP OR (broadcast RESTART and go back to (2))
  14. +
+
+

NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have +changed.

+
+

LSM303AGR

+

Both of the motion sensors on the micro:bit, the magnetometer and the accelerometer, are packaged in a single +component: the LSM303AGR integrated circuit. These two sensors can be accessed via an I2C bus. Each +sensor behaves like an I2C target and has a different address.

+

Each sensor has its own memory where it stores the results of sensing its environment. Our +interaction with these sensors will mainly involve reading their memory.

+

The memory of these sensors is modeled as byte addressable registers. These sensors can be +configured too; that's done by writing to their registers. So, in a sense, these sensors are very +similar to the peripherals inside the microcontroller. The difference is that their registers are +not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the +I2C bus.

+

The main source of information about the LSM303AGR is its Data Sheet. Read through it to see how +one can read the sensors' registers. That part is in:

+
+

Section 6.1.1 I2C Operation - Page 38 - LSM303AGR Data Sheet

+
+

The other part of the documentation relevant to this book is the description of the registers. That +part is in:

+
+

Section 8 Register description - Page 46 - LSM303AGR Data Sheet

+
+

Read a single register

+

Let's put all that theory into practice!

+

First things first we need to know the target addresses of both the accelerometer +and the magnetometer inside the chip, these can be found in the LSM303AGR's +datasheet on page 39 and are:

+
    +
  • 0011001 for the accelerometer
  • +
  • 0011110 for the magnetometer
  • +
+
+

NOTE Remember that these are only the 7 leading bits of the address, +the 8th bit is going to be the bit that determines whether we are +performing a read or write.

+
+

Next up we'll need a register to read from. Lots of I2C chips out there will +provide some sort of device identification register for their controllers to read. +This is done since considering the thousands (or even millions) of I2C chips +out there it is highly likely that at some point two chips with the same address +will end up being built (after all the address is "only" 7 bit wide). With +this device ID register a driver could then make sure that it is indeed talking +to a LSM303AGR and not some other chip that just happens to have the same address. +As you can read in the LSM303AGR's datasheet (specifically on page 46 and 61) +it does provide two registers called WHO_AM_I_A at address 0x0f and WHO_AM_I_M +at address 0x4f which contain some bit patterns that are unique to the device +(The A is as in accelerometer and the M is as in magnetometer).

+

The only thing missing now is the software part, i.e. which API of the microbit/the HAL +crates we should use for this. However, if you read through the datasheet of the nRF chip +you are using you will soon find out that they don't actually have an I2C peripheral. +Luckily for us though, they have I2C-compatible ones called TWI (Two Wire Interface) +and TWIM (depending on which chip you use, just like UART and UARTE).

+

Now if we put the documentation of the twi(m) module from the microbit crate +together with all the other information we have gathered so far we'll end up with this +piece of code to read out and print the two device IDs:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+use microbit::hal::prelude::*;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+};
+
+const ACCELEROMETER_ADDR: u8 = 0b0011001;
+const MAGNETOMETER_ADDR: u8 = 0b0011110;
+
+const ACCELEROMETER_ID_REG: u8 = 0x0f;
+const MAGNETOMETER_ID_REG: u8 = 0x4f;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+
+    #[cfg(feature = "v1")]
+    let mut i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let mut i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut acc = [0];
+    let mut mag = [0];
+
+    // First write the address + register onto the bus, then read the chip's responses
+    i2c.write_read(ACCELEROMETER_ADDR, &[ACCELEROMETER_ID_REG], &mut acc).unwrap();
+    i2c.write_read(MAGNETOMETER_ADDR, &[MAGNETOMETER_ID_REG], &mut mag).unwrap();
+
+    rprintln!("The accelerometer chip's id is: {:#b}", acc[0]);
+    rprintln!("The magnetometer chip's id is: {:#b}", mag[0]);
+
+    loop {}
+}
+

Apart from the initialization, this piece of code should be straight forward if you +understood the I2C protocol as described before. The initialization here works similarly +to the one from the UART chapter. +We pass the peripheral as well as the pins that are used to communicate with the chip to the constructor; and then the frequency we wish the bus to operate on, in this case 100 kHz (K100).

+

Testing it

+

As always you have to modify Embed.toml to fit your MCU and can then use:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+
+

in order to test our little example program.

+

Using a driver

+

As we already discussed in chapter 5 embedded-hal provides abstractions +which can be used to write platform independent code that can interact with +hardware. In fact all the methods we have used to interact with hardware +in chapter 7 and up until now in chapter 8 were from traits, defined by embedded-hal. +Now we'll make actual use of the traits embedded-hal provides for the first time.

+

It would be pointless to implement a driver for our LSM303AGR for every platform +embedded Rust supports (and new ones that might eventually pop up). To avoid this a driver +can be written that consumes generic types that implement embedded-hal traits in order to provide +a platform agnostic version of a driver. Luckily for us this has already been done in the +lsm303agr crate. Hence reading the actual accelerometer and magnetometer values will now +be basically a plug and play experience (plus reading a bit of documentation). In fact the crates.io +page already provides us with everything we need to know in order to read accelerometer data but using a Raspberry Pi. We'll +just have to adapt it to our chip:

+
use linux_embedded_hal::I2cdev;
+use lsm303agr::{AccelOutputDataRate, Lsm303agr};
+
+fn main() {
+    let dev = I2cdev::new("/dev/i2c-1").unwrap();
+    let mut sensor = Lsm303agr::new_with_i2c(dev);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    loop {
+        if sensor.accel_status().unwrap().xyz_new_data {
+            let data = sensor.accel_data().unwrap();
+            println!("Acceleration: x {} y {} z {}", data.x, data.y, data.z);
+        }
+    }
+}
+

Because we already know how to create an instance of an object that implements +the embedded_hal::blocking::i2c traits from the previous page, this is quite trivial:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+};
+
+use lsm303agr::{
+    AccelOutputDataRate, Lsm303agr,
+};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    // Code from documentation
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    loop {
+        if sensor.accel_status().unwrap().xyz_new_data {
+            let data = sensor.accel_data().unwrap();
+            // RTT instead of normal print
+            rprintln!("Acceleration: x {} y {} z {}", data.x, data.y, data.z);
+        }
+    }
+}
+

Just like the last snippet you should just be able to try this out like this:

+
# For micro:bit v2
+$ cargo embed --features v2 --target thumbv7em-none-eabihf
+
+# For micro:bit v1
+$ cargo embed --features v1 --target thumbv6m-none-eabi
+
+

Furthermore if you (physically) move around your micro:bit a little you should see the +acceleration numbers that are being printed change.

+

The challenge

+

The challenge for this chapter is, to build a small application that +communicates with the outside world via the serial interface introduced +in the last chapter. It should be able to receive the commands "magnetometer" +as well as "accelerometer" and then print the corresponding sensor data +in response. This time no template code will be provided since all you need +is already provided in the UART and this chapter. However, here are a few clues:

+
    +
  • You might be interested in core::str::from_utf8 to convert the bytes in the buffer to a &str, since we need to compare with "magnetometer" and "accelerometer".
  • +
  • You will (obviously) have to read the documentation of the magnetometer API, however +it's more or less equivalent to the accelerometer one
  • +
+

My solution

+
#![no_main]
+#![no_std]
+
+use core::str;
+
+use cortex_m_rt::entry;
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+    hal::uart,
+    hal::uart::{Baudrate, Parity},
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+    hal::uarte,
+    hal::uarte::{Baudrate, Parity},
+};
+
+use microbit::hal::prelude::*;
+use lsm303agr::{AccelOutputDataRate, MagOutputDataRate, Lsm303agr};
+use heapless::Vec;
+use nb::block;
+use core::fmt::Write;
+
+#[cfg(feature = "v2")]
+mod serial_setup;
+#[cfg(feature = "v2")]
+use serial_setup::UartePort;
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let mut serial = {
+        uart::Uart::new(
+            board.UART0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        )
+    };
+
+    #[cfg(feature = "v2")]
+    let mut serial = {
+        let serial = uarte::Uarte::new(
+            board.UARTE0,
+            board.uart.into(),
+            Parity::EXCLUDED,
+            Baudrate::BAUD115200,
+        );
+        UartePort::new(serial)
+    };
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz50).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    loop {
+        let mut buffer: Vec<u8, 32> = Vec::new();
+
+        loop {
+            let byte = block!(serial.read()).unwrap();
+
+            if byte == 13 {
+                break;
+            }
+
+            if buffer.push(byte).is_err() {
+                write!(serial, "error: buffer full\r\n").unwrap();
+                break;
+            }
+        }
+
+        if str::from_utf8(&buffer).unwrap().trim() == "accelerometer" {
+            while !sensor.accel_status().unwrap().xyz_new_data  {
+            }
+
+            let data = sensor.accel_data().unwrap();
+            write!(serial, "Accelerometer: x {} y {} z {}\r\n", data.x, data.y, data.z).unwrap();
+        } else if str::from_utf8(&buffer).unwrap().trim() == "magnetometer" {
+            while !sensor.mag_status().unwrap().xyz_new_data  {
+            }
+
+            let data = sensor.mag_data().unwrap();
+            write!(serial, "Magnetometer: x {} y {} z {}\r\n", data.x, data.y, data.z).unwrap();
+        } else {
+            write!(serial, "error: command not detected\r\n").unwrap();
+        }
+    }
+}
+
+

LED compass

+

In this section, we'll implement a compass using the LEDs on the micro:bit. Like proper compasses, our LED +compass must point north somehow. It will do that by turning on one of its outer LEDs; the LED turned on +should point towards north.

+

Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction. The +magnetometer on the micro:bit measures both the magnitude and the direction of an external magnetic field +but it reports back the decomposition of said field along its axes.

+

The magnetometer has three axes associated to it. The X and Y axes basically span the plane that is the floor. +The Z axis is pointing "out" of the floor, so upwards.

+

You should already be able to write a program that continuously prints the magnetometer +data on the RTT console from the I2C chapter. After you wrote that +program, locate where north is at your current location. Then line up your micro:bit with +that direction and observe how the sensor's measurements look.

+

Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do +you see this time? Then rotate it 90 degrees again. What values do you see?

+

Calibration

+

One very important thing to do before using a sensor and trying to develop +an application using it is verifying that it's output is actually correct. +If this does not happen to be the case we need to calibrate the sensor +(alternatively it could also be broken but that's rather unlikely in this case).

+

In my case on two different micro:bit's the magnetometer, without calibration, +was quite a bit off of what it is supposed to measure. Hence for the purposes +of this chapter we will just assume that the sensor has to be calibrated.

+

The calibration involves quite a bit of math (matrices) so we won't cover it here but this +Design Note describes the procedure if you are interested.

+

Luckily for us though the group that built the original software for the +micro:bit already implemented a calibration mechanism in C++ over here.

+

You can find a translation of it to Rust in src/calibration.rs. The usage +is demonstrated in the default src/main.rs file. The way the calibration +works is illustrated in this video:

+

+

+

You have to basically tilt the micro:bit until all the LEDs on the LED matrix light up.

+

If you do not want to play the game every time you restart your application during development +feel free to modify the src/main.rs template to just use the same static calibration +once you got the first one.

+

Now where we got the sensor calibration out of the way let's look into +actually building this application!

+

Take 1

+

What's the simplest way in which we can implement the LED compass, even if it's not perfect?

+

For starters, we'd only care about the X and Y components of the magnetic field because when you +look at a compass you always hold it in horizontal position and thus the compass is in the XY plane.

+

+ +

+

If we only looked at the signs of the X and Y components we could determine to which quadrant the +magnetic field belongs to. Now the question of course is which direction (north, north-east, etc.) +do the 4 quadrants represent. In order to figure this out we can just rotate the micro:bit and observe +how the quadrant changes whenever we point in another direction.

+

After experimenting a bit we can find out that if we point the micro:bit in e.g. north-east direction, +both the X and the Y component are always positive. Based on this information you should be able to +figure out which direction the other quadrants represent.

+

Once you figured out the relation between quadrant and direction you should be able to +complete the template from below.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use led::Direction;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        let dir = match (data.x > 0, data.y > 0) {
+            // Quadrant ???
+            (true, true) => Direction::NorthEast,
+            // Quadrant ???
+            (false, true) => panic!("TODO"),
+            // Quadrant ???
+            (false, false) => panic!("TODO"),
+            // Quadrant ???
+            (true, false) => panic!("TODO"),
+        };
+
+        // use the led module to turn the direction into an LED arrow
+        // and the led display functions from chapter 5 to display the
+        // arrow
+    }
+}
+

Solution 1

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use crate::led::Direction;
+use crate::led::direction_to_led;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        let dir = match (data.x > 0, data.y > 0) {
+            // Quadrant I
+            (true, true) => Direction::NorthEast,
+            // Quadrant II
+            (false, true) => Direction::NorthWest,
+            // Quadrant III
+            (false, false) => Direction::SouthWest,
+            // Quadrant IV
+            (true, false) => Direction::SouthEast,
+        };
+
+        // use the led module to turn the direction into an LED arrow
+        // and the led display functions from chapter 5 to display the
+        // arrow
+        display.show(&mut timer, direction_to_led(dir), 100);
+    }
+}
+

Take 2

+

This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y +axes of the magnetometer.

+

We'll use the atan2 function. This function returns an angle in the -PI to PI range. The +graphic below shows how this angle is measured:

+

+ +

+

Although not explicitly shown in this graph the X axis points to the right and the Y axis points up.

+

Here's the starter code. theta, in radians, has already been computed. You need to pick which LED +to turn on based on the value of theta.

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use crate::led::Direction;
+use crate::led::direction_to_led;
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+use libm::atan2f;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        // use libm's atan2f since this isn't in core yet
+        let theta = atan2f(data.y as f32, data.x as f32);
+
+        // Figure out the direction based on theta
+        let dir = Direction::NorthEast;
+
+        display.show(&mut timer, direction_to_led(dir), 100);
+    }
+}
+
+

Suggestions/tips:

+
    +
  • A whole circle rotation equals 360 degrees.
  • +
  • PI radians is equivalent to 180 degrees.
  • +
  • If theta was zero, which direction are you pointing at?
  • +
  • If theta was, instead, very close to zero, which direction are you pointing at?
  • +
  • If theta kept increasing, at what value would you change the direction
  • +
+

Solution 2

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+mod led;
+use crate::led::Direction;
+use crate::led::direction_to_led;
+
+// You'll find this useful ;-)
+use core::f32::consts::PI;
+use libm::atan2f;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+
+        // use libm's atan2f since this isn't in core yet
+        let theta = atan2f(data.y as f32, data.x as f32);
+
+        // Figure out the direction based on theta
+        let dir = if theta < -7. * PI / 8. {
+            Direction::West
+        } else if theta < -5. * PI / 8. {
+            Direction::SouthWest
+        } else if theta < -3. * PI / 8. {
+            Direction::South
+        } else if theta < -PI / 8. {
+            Direction::SouthEast
+        } else if theta < PI / 8. {
+            Direction::East
+        } else if theta < 3. * PI / 8. {
+            Direction::NorthEast
+        } else if theta < 5. * PI / 8. {
+            Direction::North
+        } else if theta < 7. * PI / 8. {
+            Direction::NorthWest
+        } else {
+            Direction::West
+        };
+
+        display.show(&mut timer, direction_to_led(dir), 100);
+    }
+}
+

Magnitude

+

We have been working with the direction of the magnetic field but what is its real magnitude? +According to the documentation about the mag_data() function the x y z values we are +getting are in nanotesla. That means the only thing we have to compute in order to get the +magnitude of the magnetic field in nanotesla is the magnitude of the 3D vector that our x y z +values describe. As you might remember from school this is simply:

+
#![allow(unused)]
+fn main() {
+// core doesn't have this function yet so we use libm, just like with
+// atan2f from before.
+use libm::sqrtf;
+let magnitude = sqrtf(x * x + y * y + z * z);
+}
+

Putting all this together in a program:

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use panic_rtt_target as _;
+use rtt_target::{rprintln, rtt_init_print};
+
+mod calibration;
+use crate::calibration::calc_calibration;
+use crate::calibration::calibrated_measurement;
+
+use libm::sqrtf;
+
+use microbit::{display::blocking::Display, hal::Timer};
+
+#[cfg(feature = "v1")]
+use microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A};
+
+#[cfg(feature = "v2")]
+use microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A};
+
+use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut timer = Timer::new(board.TIMER0);
+    let mut display = Display::new(board.display_pins);
+
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap();
+    let mut sensor = sensor.into_mag_continuous().ok().unwrap();
+
+    let calibration = calc_calibration(&mut sensor, &mut display, &mut timer);
+    rprintln!("Calibration: {:?}", calibration);
+    rprintln!("Calibration done, entering busy loop");
+    loop {
+        while !sensor.mag_status().unwrap().xyz_new_data {}
+        let mut data = sensor.mag_data().unwrap();
+        data = calibrated_measurement(data, &calibration);
+        let x = data.x as f32;
+        let y = data.y as f32;
+        let z = data.z as f32;
+        let magnitude = sqrtf(x * x + y * y + z * z);
+        rprintln!("{} nT, {} mG", magnitude, magnitude/100.0);
+    }
+}
+

This program will report the magnitude (strength) of the magnetic field in nanotesla (nT) and milligauss (mG). The +magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude +varies depending on your geographical location) so you should see a value in that range or close to +that range -- I see a magnitude of around 340 mG.

+

Some questions:

+

Without moving the board, what value do you see? Do you always see the same value?

+

If you rotate the board, does the magnitude change? Should it change?

+

Punch-o-meter

+

In this section we'll be playing with the accelerometer that's in the board.

+

What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, +actually the maximum acceleration that you can reach because acceleration is what accelerometers +measure. Strength and acceleration are proportional though so it's a good approximation.

+

As we already know from previous chapters the accelerometer is built inside the LSM303AGR package. +And just like the magnetometer, it is accessible using the I2C bus. It also has the same coordinate +system as the magnetometer.

+

Gravity is up?

+

What's the first thing we'll do?

+

Perform a sanity check!

+

You should already be able to write a program that continuously prints the accelerometer +data on the RTT console from the I2C chapter. Do you observe something +interesting even when holding the board parallel to the floor with the LED side facing down?

+

What you should see like this is that both the X and Y values are rather close to 0, while the +Z value is at around 1000. Which is weird because the board is not moving yet its acceleration is +non-zero. What's going on? This must be related to the gravity, right? Because the acceleration of +gravity is 1 g (aha, 1 g = 1000 from the accelerometer). But the gravity pulls objects downwards +so the acceleration along the Z axis should be negative not positive

+

Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity +to the X or Y axis but the acceleration measured by the accelerometer is always pointing up.

+

What happens here is that the accelerometer is measuring the proper acceleration of the board not +the acceleration you are observing. This proper acceleration is the acceleration of the board as +seen from an observer that's in free fall. An observer that's in free fall is moving toward the +center of the Earth with an acceleration of 1g; from its point of view the board is actually +moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the +proper acceleration is pointing up. This also means that if the board was in free fall, the +accelerometer would report a proper acceleration of zero. Please, don't try that at home.

+

Yes, physics is hard. Let's move on.

+

The challenge

+

To keep things simple, we'll measure the acceleration only in the X axis while the board remains +horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed +before which would be hard because that 1g could have X Y Z components depending on how the board +is oriented.

+

Here's what the punch-o-meter must do:

+
    +
  • By default, the app is not "observing" the acceleration of the board.
  • +
  • When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), +the app should start a new measurement.
  • +
  • During that measurement interval, the app should keep track of the maximum acceleration observed
  • +
  • After the measurement interval ends, the app must report the maximum acceleration observed. You +can report the value using the rprintln! macro.
  • +
+

Give it a try and let me know how hard you can punch ;-).

+
+

NOTE There are two additional APIs that should be useful for this task we haven't discussed yet. +First the set_accel_scale one which you need to measure high g values. +Secondly the Countdown trait from embedded_hal. If you decide to use this to keep your measurement +intervals you will have to pattern match on the nb::Result type instead of using the block! macro +we have seen in previous chapters.

+
+

My solution

+
#![deny(unsafe_code)]
+#![no_main]
+#![no_std]
+
+use cortex_m_rt::entry;
+use rtt_target::{rtt_init_print, rprintln};
+use panic_rtt_target as _;
+
+#[cfg(feature = "v1")]
+use microbit::{
+    hal::twi,
+    pac::twi0::frequency::FREQUENCY_A,
+};
+
+#[cfg(feature = "v2")]
+use microbit::{
+    hal::twim,
+    pac::twim0::frequency::FREQUENCY_A,
+};
+
+use lsm303agr::{
+    AccelScale, AccelOutputDataRate, Lsm303agr,
+};
+
+use microbit::hal::timer::Timer;
+use microbit::hal::prelude::*;
+use nb::Error;
+
+#[entry]
+fn main() -> ! {
+    const THRESHOLD: f32 = 0.5;
+
+    rtt_init_print!();
+    let board = microbit::Board::take().unwrap();
+
+    #[cfg(feature = "v1")]
+    let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) };
+
+    #[cfg(feature = "v2")]
+    let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) };
+
+    let mut countdown = Timer::new(board.TIMER0);
+    let mut delay = Timer::new(board.TIMER1);
+    let mut sensor = Lsm303agr::new_with_i2c(i2c);
+    sensor.init().unwrap();
+    sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap();
+    // Allow the sensor to measure up to 16 G since human punches
+    // can actually be quite fast
+    sensor.set_accel_scale(AccelScale::G16).unwrap();
+
+    let mut max_g = 0.;
+    let mut measuring = false;
+
+    loop {
+        while !sensor.accel_status().unwrap().xyz_new_data {}
+        // x acceleration in g
+        let g_x = sensor.accel_data().unwrap().x as f32 / 1000.0;
+
+        if measuring {
+            // Check the status of our contdown
+            match countdown.wait() {
+                // countdown isn't done yet
+                Err(Error::WouldBlock) => {
+                    if g_x > max_g {
+                        max_g = g_x;
+                    }
+                },
+                // Countdown is done
+                Ok(_) => {
+                    // Report max value
+                    rprintln!("Max acceleration: {}g", max_g);
+
+                    // Reset
+                    max_g = 0.;
+                    measuring = false;
+                },
+                // Since the nrf52 and nrf51 HAL have Void as an error type
+                // this path cannot occur, as Void is an empty type
+                Err(Error::Other(_)) => {
+                    unreachable!()
+                }
+            }
+        } else {
+            // If acceleration goes above a threshold, we start measuring
+            if g_x > THRESHOLD {
+                rprintln!("START!");
+
+                measuring = true;
+                max_g = g_x;
+                // The documentation notes that the timer works at a frequency
+                // of 1 Mhz, so in order to wait for 1 second we have to
+                // set it to 1_000_000 ticks.
+                countdown.start(1_000_000_u32);
+            }
+        }
+        delay.delay_ms(20_u8);
+    }
+}
+

Snake game

+

We're now going to implement a basic snake game that you can play on a micro:bit v2 using its 5x5 LED matrix as a +display and its two buttons as controls. In doing so, we will build on some of the concepts covered in the earlier +chapters of this book, and also learn about some new peripherals and concepts.

+

In particular, we will be using the concept of hardware interrupts to allow our program to interact with multiple +peripherals at once. Interrupts are a common way to implement concurrency in embedded contexts. There is a good +introduction to concurrency in an embedded context in the Embedded Rust Book that I suggest you read through +before proceeding.

+
+

NOTE This chapter has been developed for the micro:bit v2 only, not the v1. Contributions to port the code to the +v1 are welcome.

+
+
+

NOTE In this chapter, we are going to use later versions of certain libraries that have been used in previous +chapters. We are going to use version 0.13.0 of the microbit library (the preceding chapters have used 0.12.0). +Version 0.13.0 fixes a couple of bugs in the non-blocking display code that we will be using. We are also going to use +version 0.8.0 of the heapless library (previous chapters used version 0.7.10), which allows us to use certain of its +data structures with structs that implement Rust's core::Hash trait.

+
+

Game logic

+

First, we are going to describe the game logic. You are probably familiar with snake games, but if not, the basic idea +is that the player guides a snake around a 2D grid. At any given time, there is some "food" at a random location on the +grid and the goal of the game is to get the snake to "eat" as much food as possible. Each time the snake eats some food +it grows in length. The player loses if the snake crashes into its own tail. In some variants of the game, the player +also loses if the snake crashes into the edge of the grid, but given the small size of our grid we are going to +implement a "wraparound" rule where, if the snake goes off one edge of the grid, it will continue from the opposite +edge.

+

The game module

+

The code in this section should go in a separate file, game.rs, in our src directory.

+
#![allow(unused)]
+fn main() {
+use heapless::FnvIndexSet;
+
+/// A single point on the grid.
+#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
+struct Coords {
+   // Signed ints to allow negative values (handy when checking if we have gone
+   // off the top or left of the grid)
+   row: i8,
+   col: i8
+}
+
+impl Coords {
+   /// Get random coordinates within a grid. `exclude` is an optional set of
+   /// coordinates which should be excluded from the output.
+   fn random(
+      rng: &mut Prng,  // We define the Prng struct below
+      exclude: Option<&FnvIndexSet<Coords, 32>>
+   ) -> Self {
+      let mut coords = Coords {
+         row: ((rng.random_u32() as usize) % 5) as i8,
+         col: ((rng.random_u32() as usize) % 5) as i8
+      };
+      while exclude.is_some_and(|exc| exc.contains(&coords)) {
+         coords = Coords {
+            row: ((rng.random_u32() as usize) % 5) as i8,
+            col: ((rng.random_u32() as usize) % 5) as i8
+         }
+      }
+      coords
+   }
+
+   /// Whether the point is outside the bounds of the grid.
+   fn is_out_of_bounds(&self) -> bool {
+      self.row < 0 || self.row >= 5 || self.col < 0 || self.col >= 5
+   }
+}
+}
+

We use a Coords struct to refer to a position on the grid. Because Coords only contains two integers, we tell the +compiler to derive an implementation of the Copy trait for it, so we can pass around Coords structs without having +to worry about ownership.

+

We define an associated function, Coords::random, which will give us a random position on the grid. We will use this +later to determine where to place the snake's food. To do this, we need a source of random numbers. The nRF52833 has a +random number generator (RNG) peripheral, documented at section 6.19 of the spec sheet. The HAL gives us a simple +interface to the RNG via the microbit::hal::rng::Rng struct. However, it is a blocking interface, and the time +needed to generate one random byte of data is variable and unpredictable. We therefore define a pseudo-random +number generator (PRNG) which uses an xorshift algorithm to generate +pseudo-random u32 values that we can use to determine where to place food. The algorithm is basic and not +cryptographically secure, but it is efficient, easy to implement and good enough for our humble snake game. Our Prng +struct requires an initial seed value, which we get from the RNG peripheral.

+
#![allow(unused)]
+fn main() {
+/// A basic pseudo-random number generator.
+struct Prng {
+    value: u32
+}
+
+impl Prng {
+    fn new(seed: u32) -> Self {
+        Self {value: seed}
+    }
+
+    /// Basic xorshift PRNG function: see https://en.wikipedia.org/wiki/Xorshift
+    fn xorshift32(mut input: u32) -> u32 {
+        input ^= input << 13;
+        input ^= input >> 17;
+        input ^= input << 5;
+        input
+    }
+
+    /// Return a pseudo-random u32.
+    fn random_u32(&mut self) -> u32 {
+        self.value = Self::xorshift32(self.value);
+        self.value
+    }
+}
+}
+

We also need to define a few enums that help us manage the game's state: direction of movement, direction to turn, the +current game status and the outcome of a particular "step" in the game (ie, a single movement of the snake).

+
#![allow(unused)]
+fn main() {
+/// Define the directions the snake can move.
+enum Direction {
+    Up,
+    Down,
+    Left,
+    Right
+}
+
+/// What direction the snake should turn.
+#[derive(Debug, Copy, Clone)]
+pub enum Turn {
+    Left,
+    Right,
+    None
+}
+
+/// The current status of the game.
+pub enum GameStatus {
+    Won,
+    Lost,
+    Ongoing
+}
+
+/// The outcome of a single move/step.
+enum StepOutcome {
+    /// Grid full (player wins)
+    Full(Coords),
+    /// Snake has collided with itself (player loses)
+    Collision(Coords),
+    /// Snake has eaten some food
+    Eat(Coords),
+    /// Snake has moved (and nothing else has happened)
+    Move(Coords)
+}
+}
+

Next up we define a Snake struct, which keeps track of the coordinates occupied by the snake and its direction of +travel. We use a queue (heapless::spsc::Queue) to keep track of the order of coordinates and a hash set +(heapless::FnvIndexSet) to allow for quick collision detection. The Snake has methods to allow it to move.

+
#![allow(unused)]
+fn main() {
+use heapless::spsc::Queue;
+
+// ...
+
+struct Snake {
+    /// Coordinates of the snake's head.
+    head: Coords,
+    /// Queue of coordinates of the rest of the snake's body. The end of the tail is
+    /// at the front.
+    tail: Queue<Coords, 32>,
+    /// A set containing all coordinates currently occupied by the snake (for fast
+    /// collision checking).
+    coord_set: FnvIndexSet<Coords, 32>,
+    /// The direction the snake is currently moving in.
+    direction: Direction
+}
+
+impl Snake {
+    fn new() -> Self {
+        let head = Coords { row: 2, col: 2 };
+        let initial_tail = Coords { row: 2, col: 1 };
+        let mut tail = Queue::new();
+        tail.enqueue(initial_tail).unwrap();
+        let mut coord_set: FnvIndexSet<Coords, 32> = FnvIndexSet::new();
+        coord_set.insert(head).unwrap();
+        coord_set.insert(initial_tail).unwrap();
+        Self {
+            head,
+            tail,
+            coord_set,
+            direction: Direction::Right,
+        }
+    }
+
+    /// Move the snake onto the tile at the given coordinates. If `extend` is false,
+    /// the snake's tail vacates the rearmost tile.
+    fn move_snake(&mut self, coords: Coords, extend: bool) {
+        // Location of head becomes front of tail
+        self.tail.enqueue(self.head).unwrap();
+        // Head moves to new coords
+        self.head = coords;
+        self.coord_set.insert(coords).unwrap();
+        if !extend {
+            let back = self.tail.dequeue().unwrap();
+            self.coord_set.remove(&back);
+        }
+    }
+
+    fn turn_right(&mut self) {
+        self.direction = match self.direction {
+            Direction::Up => Direction::Right,
+            Direction::Down => Direction::Left,
+            Direction::Left => Direction::Up,
+            Direction::Right => Direction::Down
+        }
+    }
+
+    fn turn_left(&mut self) {
+        self.direction = match self.direction {
+            Direction::Up => Direction::Left,
+            Direction::Down => Direction::Right,
+            Direction::Left => Direction::Down,
+            Direction::Right => Direction::Up
+        }
+    }
+
+    fn turn(&mut self, direction: Turn) {
+        match direction {
+            Turn::Left => self.turn_left(),
+            Turn::Right => self.turn_right(),
+            Turn::None => ()
+        }
+    }
+}
+}
+

The Game struct keeps track of the game state. It holds a Snake object, the current coordinates of the food, the +speed of the game (which is used to determine the time that elapses between each movement of the snake), the status of +the game (whether the game is ongoing or the player has won or lost) and the player's score.

+

This struct contains methods to handle each step of the game, determining the snake's next move and updating the game +state accordingly. It also contains two methods--game_matrix and score_matrix--that output 2D arrays of values +which can be used to display the game state or the player score on the LED matrix (as we will see later).

+
#![allow(unused)]
+fn main() {
+/// Struct to hold game state and associated behaviour
+pub(crate) struct Game {
+    rng: Prng,
+    snake: Snake,
+    food_coords: Coords,
+    speed: u8,
+    pub(crate) status: GameStatus,
+    score: u8
+}
+
+impl Game {
+    pub(crate) fn new(rng_seed: u32) -> Self {
+        let mut rng = Prng::new(rng_seed);
+        let mut tail: FnvIndexSet<Coords, 32> = FnvIndexSet::new();
+        tail.insert(Coords { row: 2, col: 1 }).unwrap();
+        let snake = Snake::new();
+        let food_coords = Coords::random(&mut rng, Some(&snake.coord_set));
+        Self {
+            rng,
+            snake,
+            food_coords,
+            speed: 1,
+            status: GameStatus::Ongoing,
+            score: 0
+        }
+    }
+
+    /// Reset the game state to start a new game.
+    pub(crate) fn reset(&mut self) {
+        self.snake = Snake::new();
+        self.place_food();
+        self.speed = 1;
+        self.status = GameStatus::Ongoing;
+        self.score = 0;
+    }
+
+    /// Randomly place food on the grid.
+    fn place_food(&mut self) -> Coords {
+        let coords = Coords::random(&mut self.rng, Some(&self.snake.coord_set));
+        self.food_coords = coords;
+        coords
+    }
+
+    /// "Wrap around" out of bounds coordinates (eg, coordinates that are off to the
+    /// left of the grid will appear in the rightmost column). Assumes that
+    /// coordinates are out of bounds in one dimension only.
+    fn wraparound(&self, coords: Coords) -> Coords {
+        if coords.row < 0 {
+            Coords { row: 4, ..coords }
+        } else if coords.row >= 5 {
+            Coords { row: 0, ..coords }
+        } else if coords.col < 0 {
+            Coords { col: 4, ..coords }
+        } else {
+            Coords { col: 0, ..coords }
+        }
+    }
+
+    /// Determine the next tile that the snake will move on to (without actually
+    /// moving the snake).
+    fn get_next_move(&self) -> Coords {
+        let head = &self.snake.head;
+        let next_move = match self.snake.direction {
+            Direction::Up => Coords { row: head.row - 1, col: head.col },
+            Direction::Down => Coords { row: head.row + 1, col: head.col },
+            Direction::Left => Coords { row: head.row, col: head.col - 1 },
+            Direction::Right => Coords { row: head.row, col: head.col + 1 },
+        };
+        if next_move.is_out_of_bounds() {
+            self.wraparound(next_move)
+        } else {
+            next_move
+        }
+    }
+
+    /// Assess the snake's next move and return the outcome. Doesn't actually update
+    /// the game state.
+    fn get_step_outcome(&self) -> StepOutcome {
+        let next_move = self.get_next_move();
+        if self.snake.coord_set.contains(&next_move) {
+            // We haven't moved the snake yet, so if the next move is at the end of
+            // the tail, there won't actually be any collision (as the tail will have
+            // moved by the time the head moves onto the tile)
+            if next_move != *self.snake.tail.peek().unwrap() {
+                StepOutcome::Collision(next_move)
+            } else {
+                StepOutcome::Move(next_move)
+            }
+        } else if next_move == self.food_coords {
+            if self.snake.tail.len() == 23 {
+                StepOutcome::Full(next_move)
+            } else {
+                StepOutcome::Eat(next_move)
+            }
+        } else {
+            StepOutcome::Move(next_move)
+        }
+    }
+
+    /// Handle the outcome of a step, updating the game's internal state.
+    fn handle_step_outcome(&mut self, outcome: StepOutcome) {
+        self.status = match outcome {
+            StepOutcome::Collision(_) => GameStatus::Lost,
+            StepOutcome::Full(_) => GameStatus::Won,
+            StepOutcome::Eat(c) => {
+                self.snake.move_snake(c, true);
+                self.place_food();
+                self.score += 1;
+                if self.score % 5 == 0 {
+                    self.speed += 1
+                }
+                GameStatus::Ongoing
+            },
+            StepOutcome::Move(c) => {
+                self.snake.move_snake(c, false);
+                GameStatus::Ongoing
+            }
+        }
+    }
+
+    pub(crate) fn step(&mut self, turn: Turn) {
+        self.snake.turn(turn);
+        let outcome = self.get_step_outcome();
+        self.handle_step_outcome(outcome);
+    }
+
+    /// Calculate the length of time to wait between game steps, in milliseconds.
+    /// Generally this will get lower as the player's score increases, but need to
+    /// be careful it cannot result in a value below zero.
+    pub(crate) fn step_len_ms(&self) -> u32 {
+        let result = 1000 - (200 * ((self.speed as i32) - 1));
+        if result < 200 {
+            200u32
+        } else {
+            result as u32
+        }
+    }
+
+    /// Return an array representing the game state, which can be used to display the
+    /// state on the microbit's LED matrix. Each `_brightness` parameter should be a
+    /// value between 0 and 9.
+    pub(crate) fn game_matrix(
+        &self,
+        head_brightness: u8,
+        tail_brightness: u8,
+        food_brightness: u8
+    ) -> [[u8; 5]; 5] {
+        let mut values = [[0u8; 5]; 5];
+        values[self.snake.head.row as usize][self.snake.head.col as usize] = head_brightness;
+        for t in &self.snake.tail {
+            values[t.row as usize][t.col as usize] = tail_brightness
+        }
+        values[self.food_coords.row as usize][self.food_coords.col as usize] = food_brightness;
+        values
+    }
+
+    /// Return an array representing the game score, which can be used to display the
+    /// score on the microbit's LED matrix (by illuminating the equivalent number of
+    /// LEDs, going left->right and top->bottom).
+    pub(crate) fn score_matrix(&self) -> [[u8; 5]; 5] {
+        let mut values = [[0u8; 5]; 5];
+        let full_rows = (self.score as usize) / 5;
+        for r in 0..full_rows {
+            values[r] = [1; 5];
+        }
+        for c in 0..(self.score as usize) % 5 {
+            values[full_rows][c] = 1;
+        }
+        values
+    }
+}
+}
+

The main file

+

The following code should be placed in our main.rs file.

+
#![no_main]
+#![no_std]
+
+mod game;
+
+use cortex_m_rt::entry;
+use microbit::{
+   Board,
+   hal::{prelude::*, Rng, Timer},
+   display::blocking::Display
+};
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+use crate::game::{Game, GameStatus, Turn};
+
+#[entry]
+fn main() -> ! {
+   rtt_init_print!();
+   let mut board = Board::take().unwrap();
+   let mut timer = Timer::new(board.TIMER0);
+   let mut rng = Rng::new(board.RNG);
+   let mut game = Game::new(rng.random_u32());
+   let mut display = Display::new(board.display_pins);
+
+   loop {
+      loop {  // Game loop
+         let image = game.game_matrix(9, 9, 9);
+         // The brightness values are meaningless at the moment as we haven't yet
+         // implemented a display capable of displaying different brightnesses
+         display.show(&mut timer, image, game.step_len_ms());
+         match game.status {
+            GameStatus::Ongoing => game.step(Turn::None), // Placeholder as we
+                                                          // haven't implemented
+                                                          // controls yet
+            _ => {
+               for _ in 0..3 {
+                  display.clear();
+                  timer.delay_ms(200u32);
+                  display.show(&mut timer, image, 200);
+               }
+               display.clear();
+               display.show(&mut timer, game.score_matrix(), 1000);
+               break
+            }
+         }
+      }
+      game.reset();
+   }
+}
+

After initialising the board and its timer and RNG peripherals, we initialise a Game struct and a Display from the +microbit::display::blocking module.

+

In our "game loop" (which runs inside of the "main loop" we place in our main function), we repeatedly perform the +following steps:

+
    +
  1. Get a 5x5 array of bytes representing the grid. The Game::get_matrix method takes three integer arguments (which +should be between 0 and 9, inclusive) which will, eventually, represent how brightly the head, tail and food should be +displayed. The basic Display we are using at this point does not support variable brightness, so we just provide +values of 9 for each (but any non-zero value would work) at this stage.
  2. +
  3. Display the matrix, for an amount of time determined by the Game::step_len_ms method. As currently implemented, +this method basically provides for 1 second between steps, reducing by 200ms every time the player scores 5 points +(eating 1 piece of food = 1 point), subject to a floor of 200ms.
  4. +
  5. Check the game status. If it is Ongoing (which is its initial value), run a step of the game and update the game +state (including its status property). Otherwise, the game is over, so flash the current image three times, then +show the player's score (represented as a number of illuminated LEDs corresponding to the score), and exit the game +loop.
  6. +
+

Our main loop just runs the game loop repeatedly, resetting the game's state after each iteration.

+

If you run this, you should see two LEDs illuminated halfway down the display (the snake's head in the middle and its +tail to the left). You will also see another LED illuminated somewhere on the board, representing the snake's food. +Approximately each second, the snake will move one space to the right.

+

Next we will add an ability to control the snake's movements.

+

Controls

+

Our protagonist will be controlled by the two buttons on the front of the micro:bit. Button A will turn to the (snake's) +left, and button B will turn to the (snake's) right.

+

We will use the microbit::pac::interrupt macro to handle button presses in a concurrent way. The interrupt will be +generated by the micro:bit's GPIOTE (General Purpose Input/Output Tasks and Events) peripheral.

+

The controls module

+

Code in this section should be placed in a separate file, controls.rs, in our src directory.

+

We will need to keep track of two separate pieces of global mutable state: A reference to the GPIOTE peripheral, and a +record of the selected direction to turn next.

+
#![allow(unused)]
+fn main() {
+use core::cell::RefCell;
+use cortex_m::interrupt::Mutex;
+use microbit::hal::gpiote::Gpiote;
+use crate::game::Turn;
+
+// ...
+
+static GPIO: Mutex<RefCell<Option<Gpiote>>> = Mutex::new(RefCell::new(None));
+static TURN: Mutex<RefCell<Turn>> = Mutex::new(RefCell::new(Turn::None));
+}
+

The data is wrapped in a RefCell to permit interior mutability. You can learn more about RefCell by reading +its documentation and the relevant chapter of the Rust Book. +The RefCell is, in turn, wrapped in a cortex_m::interrupt::Mutex to allow safe access. +The Mutex provided by the cortex_m crate uses the concept of a critical section. +Data in a Mutex can only be accessed from within a function or closure passed to cortex_m::interrupt:free, which +ensures that the code in the function or closure cannot itself be interrupted.

+

First, we will initialise the buttons.

+
#![allow(unused)]
+fn main() {
+use cortex_m::interrupt::free;
+use microbit::{
+    board::Buttons,
+    pac::{self, GPIOTE}
+};
+
+// ...
+
+/// Initialise the buttons and enable interrupts.
+pub(crate) fn init_buttons(board_gpiote: GPIOTE, board_buttons: Buttons) {
+    let gpiote = Gpiote::new(board_gpiote);
+
+    let channel0 = gpiote.channel0();
+    channel0
+        .input_pin(&board_buttons.button_a.degrade())
+        .hi_to_lo()
+        .enable_interrupt();
+    channel0.reset_events();
+
+    let channel1 = gpiote.channel1();
+    channel1
+        .input_pin(&board_buttons.button_b.degrade())
+        .hi_to_lo()
+        .enable_interrupt();
+    channel1.reset_events();
+
+    free(move |cs| {
+        *GPIO.borrow(cs).borrow_mut() = Some(gpiote);
+
+        unsafe {
+            pac::NVIC::unmask(pac::Interrupt::GPIOTE);
+        }
+        pac::NVIC::unpend(pac::Interrupt::GPIOTE);
+    });
+}
+}
+

The GPIOTE peripheral on the nRF52 has 8 "channels", each of which can be connected to a GPIO pin and configured to +respond to certain events, including rising edge (transition from low to high signal) and falling edge (high to low +signal). A button is a GPIO pin which has high signal when not pressed and low signal otherwise. Therefore, a button +press is a falling edge.

+

We connect channel0 to button_a and channel1 to button_b and, in each case, tell them to generate events on a +falling edge (hi_to_lo). We store a reference to our GPIOTE peripheral in the GPIO Mutex. We then unmask GPIOTE +interrupts, allowing them to be propagated by the hardware, and call unpend to clear any interrupts with pending +status (which may have been generated prior to the interrupts being unmasked).

+

Next, we write the code that handles the interrupt. We use the interrupt macro provided by microbit::pac (in the +case of the v2, it is re-exported from the nrf52833_hal crate). We define a function with the same name as the +interrupt we want to handle (you can see them all here) and annotate it with #[interrupt].

+
#![allow(unused)]
+fn main() {
+use microbit::pac::interrupt;
+
+// ...
+
+#[interrupt]
+fn GPIOTE() {
+    free(|cs| {
+        if let Some(gpiote) = GPIO.borrow(cs).borrow().as_ref() {
+            let a_pressed = gpiote.channel0().is_event_triggered();
+            let b_pressed = gpiote.channel1().is_event_triggered();
+
+            let turn = match (a_pressed, b_pressed) {
+                (true, false) => Turn::Left,
+                (false, true) => Turn::Right,
+                _ => Turn::None
+            };
+
+            gpiote.channel0().reset_events();
+            gpiote.channel1().reset_events();
+
+            *TURN.borrow(cs).borrow_mut() = turn;
+        }
+    });
+}
+}
+

When a GPIOTE interrupt is generated, we check each button to see whether it has been pressed. If only button A has been +pressed, we record that the snake should turn to the left. If only button B has been pressed, we record that the snake +should turn to the right. In any other case, we record that the snake should not make any turn. The relevant turn is +stored in the TURN Mutex. All of this happens within a free block, to ensure that we cannot be interrupted again +while handling this interrupt.

+

Finally, we expose a simple function to get the next turn.

+
#![allow(unused)]
+fn main() {
+/// Get the next turn (i.e., the turn corresponding to the most recently pressed button).
+pub fn get_turn(reset: bool) -> Turn {
+    free(|cs| {
+        let turn = *TURN.borrow(cs).borrow();
+        if reset {
+            *TURN.borrow(cs).borrow_mut() = Turn::None
+        }
+        turn
+    })
+}
+}
+

This function simply returns the current value of the TURN Mutex. It takes a single boolean argument, reset. If +reset is true, the value of TURN is reset, i.e., set to Turn::None.

+

Updating the main file

+

Returning to our main function, we need to add a call to init_buttons before our main loop, and in the game loop, +replace our placeholder Turn::None argument to the game.step method with the value returned by get_turn.

+
#![no_main]
+#![no_std]
+
+mod game;
+mod control;
+
+use cortex_m_rt::entry;
+use microbit::{
+    Board,
+    hal::{prelude::*, Rng, Timer},
+    display::blocking::Display
+};
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+use crate::game::{Game, GameStatus};
+use crate::control::{init_buttons, get_turn};
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0);
+    let mut rng = Rng::new(board.RNG);
+    let mut game = Game::new(rng.random_u32());
+
+    let mut display = Display::new(board.display_pins);
+
+    init_buttons(board.GPIOTE, board.buttons);
+
+    loop {  // Main loop
+        loop {  // Game loop
+            let image = game.game_matrix(9, 9, 9);
+            // The brightness values are meaningless at the moment as we haven't yet
+            // implemented a display capable of displaying different brightnesses
+            display.show(&mut timer, image, game.step_len_ms());
+            match game.status {
+                GameStatus::Ongoing => game.step(get_turn(true)),
+                _ => {
+                    for _ in 0..3 {
+                        display.clear();
+                        timer.delay_ms(200u32);
+                        display.show(&mut timer, image, 200);
+                    }
+                    display.clear();
+                    display.show(&mut timer, game.score_matrix(), 1000);
+                    break
+                }
+            }
+        }
+        game.reset();
+    }
+}
+

Now we can control the snake using the micro:bit's buttons!

+

Using the non-blocking display

+

We now have a basic functioning snake game. But you might find that when the snake gets a bit longer, it can be +difficult to tell the snake from the food, and to tell which direction the snake is heading, because all LEDs are the +same brightness. Let's fix that.

+

The microbit library makes available two different interfaces to the LED matrix: a basic, blocking interface, which +we have been using, and a non-blocking interface which allows you to customise the brightness of each LED. At the +hardware level, each LED is either "on" or "off", but the microbit::display::nonblocking module simulates ten levels +of brightness for each LED by rapidly switching the LED on and off.

+

The code to interact with the non-blocking interface is pretty simple and will follow a similar structure to the code we +used to interact with the buttons.

+
#![allow(unused)]
+fn main() {
+use core::cell::RefCell;
+use cortex_m::interrupt::{free, Mutex};
+use microbit::display::nonblocking::Display;
+use microbit::gpio::DisplayPins;
+use microbit::pac;
+use microbit::pac::TIMER1;
+
+static DISPLAY: Mutex<RefCell<Option<Display<TIMER1>>>> = Mutex::new(RefCell::new(None));
+
+pub(crate) fn init_display(board_timer: TIMER1, board_display: DisplayPins) {
+    let display = Display::new(board_timer, board_display);
+
+    free(move |cs| {
+        *DISPLAY.borrow(cs).borrow_mut() = Some(display);
+    });
+    unsafe {
+        pac::NVIC::unmask(pac::Interrupt::TIMER1)
+    }
+}
+}
+

First, we initialise a microbit::display::nonblocking::Display struct representing the LED display, passing it the +board's TIMER1 and DisplayPins peripherals. Then we store the display in a Mutex. Finally, we unmask the TIMER1 +interrupt.

+

We then define a couple of convenience functions which allow us to easily set (or unset) the image to be displayed.

+
#![allow(unused)]
+fn main() {
+use tiny_led_matrix::Render;
+
+// ...
+
+/// Display an image.
+pub(crate) fn display_image(image: &impl Render) {
+    free(|cs| {
+        if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() {
+            display.show(image);
+        }
+    })
+}
+
+/// Clear the display (turn off all LEDs).
+pub(crate) fn clear_display() {
+    free(|cs| {
+        if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() {
+            display.clear();
+        }
+    })
+}
+}
+

display_image takes an image and tells the display to show it. Like the Display::show method that it calls, this +function takes a struct that implements the tiny_led_matrix::Render trait. That trait ensures that the struct contains +the data and methods necessary for the Display to render it on the LED matrix. The two implementations of Render +provided by the microbit::display::nonblocking module are BitImage and GreyscaleImage. In a BitImage, each +"pixel" (or LED) is either illuminated or not (like when we used the blocking interface), whereas in a +GreyscaleImage each "pixel" can have a different brightness.

+

clear_display does exactly as the name suggests.

+

Finally, we use the interrupt macro to define a handler for the TIMER1 interrupt. This interrupt fires many times a +second, and this is what allows the Display to rapidly cycle the different LEDs on and off to give the illusion of +varying brightness levels. All our handler code does is call the Display::handle_display_event method, which handles +this.

+
#![allow(unused)]
+fn main() {
+use microbit::pac::interrupt;
+
+// ...
+
+#[interrupt]
+fn TIMER1() {
+    free(|cs| {
+        if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() {
+            display.handle_display_event();
+        }
+    })
+}
+}
+

Now we just need to update our main function to call init_display and use the new functions we have defined to +interact with our fancy new display.

+
#![no_main]
+#![no_std]
+
+mod game;
+mod control;
+mod display;
+
+use cortex_m_rt::entry;
+use microbit::{
+    Board,
+    hal::{prelude::*, Rng, Timer},
+    display::nonblocking::{BitImage, GreyscaleImage}
+};
+use rtt_target::rtt_init_print;
+use panic_rtt_target as _;
+
+use crate::control::{get_turn, init_buttons};
+use crate::display::{clear_display, display_image, init_display};
+use crate::game::{Game, GameStatus};
+
+
+#[entry]
+fn main() -> ! {
+    rtt_init_print!();
+    let mut board = Board::take().unwrap();
+    let mut timer = Timer::new(board.TIMER0).into_periodic();
+    let mut rng = Rng::new(board.RNG);
+    let mut game = Game::new(rng.random_u32());
+
+    init_buttons(board.GPIOTE, board.buttons);
+    init_display(board.TIMER1, board.display_pins);
+
+
+    loop {
+        loop {  // Game loop
+            let image = GreyscaleImage::new(&game.game_matrix(6, 3, 9));
+            display_image(&image);
+            timer.delay_ms(game.step_len_ms());
+            match game.status {
+                GameStatus::Ongoing => game.step(get_turn(true)),
+                _ => {
+                    for _ in 0..3 {
+                        clear_display();
+                        timer.delay_ms(200u32);
+                        display_image(&image);
+                        timer.delay_ms(200u32);
+                    }
+                    clear_display();
+                    display_image(&BitImage::new(&game.score_matrix()));
+                    timer.delay_ms(2000u32);
+                    break
+                }
+            }
+        }
+        game.reset();
+    }
+}
+

What's left for you to explore

+

We have barely scratched the surface! There's lots of stuff left for you to +explore.

+
+

NOTE: If you're reading this, and you'd like to help add examples or +exercises to the Discovery book for any of the items below, or any other +relevant embedded topics, we'd love to have your help!

+

Please open an issue if you would like to help, but need assistance or +mentoring for how to contribute this to the book, or open a Pull Request +adding the information!

+
+

Topics about embedded software

+

These topics discuss strategies for writing embedded software. Although many +problems can be solved in different ways, these sections talk about some +strategies, and when they make sense (or don't make sense) to use.

+

Multitasking

+

Most of our programs executed a single task. How could we achieve multitasking in a +system with no OS, and thus no threads? There are two main approaches to +multitasking: preemptive multitasking and cooperative multitasking.

+

In preemptive multitasking a task that's currently being executed can, at any point in time, be +preempted (interrupted) by another task. On preemption, the first task will be suspended and the +processor will instead execute the second task. At some point the first task will be resumed. +Microcontrollers provide hardware support for preemption in the form of interrupts. We were introduced +to interrupts when we built our snake game in chapter 11.

+

In cooperative multitasking a task that's being executed will run until it reaches a suspension +point. When the processor reaches that suspension point it will stop executing the current task and +instead go and execute a different task. At some point the first task will be resumed. The main +difference between these two approaches to multitasking is that in cooperative multitasking yields +execution control at known suspension points instead of being forcefully preempted at any point of +its execution.

+

Sleeping

+

All our programs have been continuously polling peripherals to see if there's +anything that needs to be done. However, sometimes there's nothing to be done! +At those times, the microcontroller should "sleep".

+

When the processor sleeps, it stops executing instructions and this saves power. +It's almost always a good idea to save power so your microcontroller should be +sleeping as much as possible. But, how does it know when it has to wake up to +perform some action? "Interrupts" (see below for what exactly those are) +are one of the events that wake up the microcontroller but there are others +and the wfi and wfe are the instructions that make the processor "sleep".

+ +

Microcontrollers (like our nRF52/nRF51) have many capabilities. However, many share similar +capabilities that can be used to solve all sorts of different problems.

+

These topics discuss some of those capabilities, and how they can be used effectively +in embedded development.

+

Direct Memory Access (DMA).

+

This peripheral is a kind of asynchronous memcpy. If you are working with +a micro:bit v2 you have actually already used this, the HAL does this for you +with the UARTE and TWIM peripherals. A DMA peripheral can be used to perform bulk +transfers of data. Either from RAM to RAM, from a peripheral, like a UARTE, to RAM +or from RAM to a peripheral. You can schedule a DMA transfer, like read 256 bytes +from UARTE into this buffer, leave it running in the background and then poll some +register to see if it has completed so you can do other stuff while the transfer +is ongoing. For more information as to how this is implemented you can checkout the +serial_setup module from the UART chapter. If that isn't enough yet you could even +try and dive into the code of the nrf52-hal.

+

Interrupts

+

In order to interact with the real world, it is often necessary for the +microcontroller to respond immediately when some kind of event occurs.

+

Microcontrollers have the ability to be interrupted, meaning when a certain event +occurs, it will stop whatever it is doing at the moment, to instead respond to that +event. This can be very useful when we want to stop a motor when a button is pressed, +or measure a sensor when a timer finishes counting down.

+

Although these interrupts can be very useful, they can also be a bit difficult +to work with properly. We want to make sure that we respond to events quickly, +but also allow other work to continue as well.

+

In Rust, we model interrupts similar to the concept of threading on desktop Rust +programs. This means we also must think about the Rust concepts of Send and Sync +when sharing data between our main application, and code that executes as part of +handling an interrupt event.

+

Pulse Width Modulation (PWM)

+

In a nutshell, PWM is turning on something and then turning it off periodically +while keeping some proportion ("duty cycle") between the "on time" and the "off +time". When used on a LED with a sufficiently high frequency, this can be used +to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make +the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, +will make the LED much brighter (almost as if it were fully powered).

+

In general, PWM can be used to control how much power is given to some +electric device. With proper (power) electronics between a microcontroller and +an electrical motor, PWM can be used to control how much power is given to the +motor thus it can be used to control its torque and speed. Then you can add an +angular position sensor and you got yourself a closed loop controller that can +control the position of the motor at different loads.

+

PWM is already abstracted within the embedded-hal Pwm trait and you will +again find implementations of this in the nrf52-hal.

+

Digital inputs

+

We have used the microcontroller pins as digital outputs, to drive LEDs. When +building our snake game, we also caught a glimpse of how these pins can be +configured as digital inputs. As digital inputs, these pins can read the binary +state of switches (on/off) or buttons (pressed/not pressed).

+

Again digital inputs are abstracted within the embedded-hal InputPin trait +and of course the nrf52-hal does have an implementation for them.

+

(spoilers reading the binary state of switches / buttons is not as +straightforward as it sounds ;-) )

+

Analog-to-Digital Converters (ADC)

+

There are a lot of digital sensors out there. You can use a protocol like I2C +and SPI to read them. But analog sensors also exist! These sensors just output a +voltage level that's proportional to the magnitude they are sensing.

+

The ADC peripheral can be used to convert that "analog" voltage level, say 1.25 +Volts, into a "digital" number, say in the [0, 65535] range, that the processor +can use in its calculations.

+

Again the embedded-hal adc module as well as the nrf52-hal got you covered.

+

Digital-to-Analog Converters (DAC)

+

As you might expect a DAC is exactly the opposite of ADC. You can write some +digital value into a register to produce a voltage in the [0, 3.3V] range +(assuming a 3.3V power supply) on some "analog" pin. When this analog pin is +connected to some appropriate electronics and the register is written to at some +constant, fast rate (frequency) with the right values you can produce sounds or +even music!

+

Real Time Clock (RTC)

+

This peripheral can be used to track time in "human format". Seconds, minutes, +hours, days, months and years. This peripheral handles the translation from +"ticks" to these human friendly units of time. It even handles leap years and +Daylight Save Time for you!

+

Other communication protocols

+
    +
  • SPI, abstracted within the embedded-hal spi module and implemented by the nrf52-hal
  • +
  • I2S, currently not abstracted within the embedded-hal but implemented by the nrf52-hal
  • +
  • Ethernet, there does exist a small TCP/IP stack named smoltcp which is implemented for some +chips but the ones on the micro:bit don't feature an Ethernet peripheral
  • +
  • USB, there is some experimental work on this, for example with the usb-device crate
  • +
  • Bluetooth, there does exist an incomplete BLE stack named rubble which does support nrf chips.
  • +
  • SMBUS, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment.
  • +
  • CAN, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment
  • +
  • IrDA, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment
  • +
+

Different applications use different communication protocols. User facing +applications usually have a USB connector because USB is a ubiquitous +protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN +"buses". Some digital sensors use SPI, others use I2C and others, SMBUS.

+

If you happen to be interested in developing abstractions in the embedded-hal or +implementations of peripherals in general, don't be shy to open an issue in the HAL +repositories. Alternatively you could also join the Rust Embedded matrix channel +and get into contact with most of the people who built the stuff from above.

+

General Embedded-Relevant Topics

+

These topics cover items that are not specific to our device, or the hardware on +it. Instead, they discuss useful techniques that could be used on embedded +systems.

+

Gyroscopes

+

As part of our Punch-o-meter exercise, we used the Accelerometer to measure +changes in acceleration in three dimensions. But there are other motion +sensors such as gyroscopes, which allows us to measure changes in "spin" in three +dimensions.

+

This can be very useful when trying to build certain systems, such as a robot +that wants to avoid tipping over. Additionally, the data from a sensor like a +gyroscope can also be combined with data from accelerometer using a technique +called Sensor Fusion (see below for more information).

+

Servo and Stepper Motors

+

While some motors are used primarily just to spin in one direction or the other, +for example driving a remote control car forwards or backwards, it is sometimes +useful to measure more precisely how a motor rotates.

+

Our microcontroller can be used to drive Servo or Stepper motors, which allow +for more precise control of how many turns are being made by the motor, or +can even position the motor in one specific place, for example if we wanted to +move the arms of a clock to a particular direction.

+

Sensor fusion

+

The micro:bit contains two motion sensors: an accelerometer and a magnetometer. +On their own these measure: (proper) acceleration and (the Earth's) magnetic field. +But these magnitudes can be "fused" into something more useful: a "robust" measurement +of the orientation of the board. Where robust means with less measurement error than +a single sensor would be capable of.

+

This idea of deriving more reliable data from different sources is known as +sensor fusion.

+
+

So where to next? There are several options:

+
    +
  • You could check out the examples in the microbit board support crate. All those examples work for +the micro:bit board you have.
  • +
+
    +
  • You could join the Rust Embedded matrix channel, lots of people who contribute or work on embedded software +hang out there. Including for example the people who wrote the microbit BSP, the nrf52-hal, embedded-hal etc.
  • +
+
    +
  • If you are looking for a general overview of what is available in Rust Embedded right now check out the Awesome Rust Embedded +list
  • +
+ +
    +
  • You could check out more abstractions of the embedded-hal project and maybe even try and write your own +platform agnostic driver based on it.
  • +
+
    +
  • You could try running Rust on a different development board. The easiest way to get started is to +use the cortex-m-quickstart Cargo project template.
  • +
+ +
    +
  • You could check out this blog post which describes how Rust type system can +prevent bugs in I/O configuration.
  • +
+
    +
  • You could check out japaric's blog for miscellaneous topics about embedded development with Rust.
  • +
+
    +
  • You could join the Weekly driver initiative and help us write generic drivers on top of the +embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, +etc.)
  • +
+

General troubleshooting

+

cargo-embed problems

+

Most cargo-embed problems are either related to not having installed the udev +rules properly (on Linux) or having selected the wrong chip configuration in Embed.toml so +make sure you got both of those right.

+

If the above does not work out for you, you can open an issue in the discovery issue tracker. +Alternatively you can also visit the Rust Embedded matrix channel or the probe-rs matrix channel +and ask for help there.

+

Cargo problems

+

"can't find crate for core"

+

Symptoms

+
   Compiling volatile-register v0.1.2
+   Compiling rlibc v1.0.0
+   Compiling r0 v0.1.0
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+error[E0463]: can't find crate for `core`
+
+error: aborting due to previous error
+
+Build failed, waiting for other jobs to finish...
+Build failed, waiting for other jobs to finish...
+error: Could not compile `r0`.
+
+To learn more, run the command again with --verbose.
+
+

Cause

+

You forgot to install the proper target for your microcontroller (thumbv7em-none-eabihf for v2 +and thumbv6m-none-eabi for v1).

+

Fix

+

Install the proper target.

+
# micro:bit v2
+$ rustup target add thumbv7em-none-eabihf
+
+# micro:bit v1
+$ rustup target add thumbv6m-none-eabi
+
+

How to use GDB

+

Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached GDB to a cargo-embed session.

+

General Debugging

+
+

NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!

+
+

Dealing with Breakpoints

+
    +
  • break $location: Set a breakpoint at a place in your code. The value of $location can include: +
      +
    • break *main - Break on the exact address of the function main
    • +
    • break *0x080012f2 - Break on the exact memory location 0x080012f2
    • +
    • break 123 - Break on line 123 of the currently displayed file
    • +
    • break main.rs:123 - Break on line 123 of the file main.rs
    • +
    +
  • +
  • info break: Display current breakpoints
  • +
  • delete: Delete all breakpoints +
      +
    • delete $n: Delete breakpoint $n (n being a number. For example: delete $2)
    • +
    +
  • +
  • clear: Delete breakpoint at next instruction +
      +
    • clear main.rs:$function: Delete breakpoint at entry of $function in main.rs
    • +
    • clear main.rs:123: Delete breakpoint on line 123 of main.rs
    • +
    +
  • +
  • enable: Enable all set breakpoints +
      +
    • enable $n: Enable breakpoint $n
    • +
    +
  • +
  • disable: Disable all set breakpoints +
      +
    • disable $n: Disable breakpoint $n
    • +
    +
  • +
+

Controlling Execution

+
    +
  • continue: Begin or continue execution of your program
  • +
  • next: Execute the next line of your program +
      +
    • next $n: Repeat next $n number times
    • +
    +
  • +
  • nexti: Same as next but with machine instructions instead
  • +
  • step: Execute the next line, if the next line includes a call to another function, step into that code +
      +
    • step $n: Repeat step $n number times
    • +
    +
  • +
  • stepi: Same as step but with machine instructions instead
  • +
  • jump $location: Resume execution at specified location: +
      +
    • jump 123: Resume execution at line 123
    • +
    • jump 0x080012f2: Resume execution at address 0x080012f2
    • +
    +
  • +
+

Printing Information

+
    +
  • print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: +
    x: hexadecimal
    +d: signed decimal
    +u: unsigned decimal
    +o: octal
    +t: binary
    +a: address
    +c: character
    +f: floating point
    +
    +
      +
    • print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010)
    • +
    +
  • +
  • x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, +$u unit size (bytes, halfwords, words, etc.), $f any print format defined above +
      +
    • x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4
    • +
    • x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing
    • +
    +
  • +
  • disassemble $location +
      +
    • disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction
    • +
    +
  • +
+

Looking at the Symbol Table

+
    +
  • info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions +
      +
    • info functions main: Print names and types of defined functions that contain the word main
    • +
    +
  • +
  • info address $symbol: Print where $symbol is stored in memory +
      +
    • info address GPIOC: Print the memory address of the variable GPIOC
    • +
    +
  • +
  • info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables
  • +
  • ptype $data: Print more detailed information about $data +
      +
    • ptype cp: Print detailed type information about the variable cp
    • +
    +
  • +
+

Poking around the Program Stack

+
    +
  • backtrace $n: Print trace of $n frames, or omit $n to print all frames +
      +
    • backtrace 2: Print trace of first 2 frames
    • +
    +
  • +
  • frame $n: Select frame with number or address $n, omit $n to display current frame
  • +
  • up $n: Select frame $n frames up
  • +
  • down $n: Select frame $n frames down
  • +
  • info frame $address: Describe frame at $address, omit $address for currently selected frame
  • +
  • info args: Print arguments of selected frame
  • +
  • info registers $r: Print the value of register $r in selected frame, omit $r for all registers +
      +
    • info registers $sp: Print the value of the stack pointer register $sp in the current frame
    • +
    +
  • +
+

Controlling cargo-embed Remotely

+
    +
  • monitor reset: Reset the CPU, starting execution over again
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + +
+ + diff --git a/microbit/searcher.js b/microbit/searcher.js new file mode 100644 index 000000000..dc03e0a02 --- /dev/null +++ b/microbit/searcher.js @@ -0,0 +1,483 @@ +"use strict"; +window.search = window.search || {}; +(function search(search) { + // Search functionality + // + // You can use !hasFocus() to prevent keyhandling in your key + // event handlers while the user is typing their search. + + if (!Mark || !elasticlunr) { + return; + } + + //IE 11 Compatibility from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + if (!String.prototype.startsWith) { + String.prototype.startsWith = function(search, pos) { + return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; + }; + } + + var search_wrap = document.getElementById('search-wrapper'), + searchbar = document.getElementById('searchbar'), + searchbar_outer = document.getElementById('searchbar-outer'), + searchresults = document.getElementById('searchresults'), + searchresults_outer = document.getElementById('searchresults-outer'), + searchresults_header = document.getElementById('searchresults-header'), + searchicon = document.getElementById('search-toggle'), + content = document.getElementById('content'), + + searchindex = null, + doc_urls = [], + results_options = { + teaser_word_count: 30, + limit_results: 30, + }, + search_options = { + bool: "AND", + expand: true, + fields: { + title: {boost: 1}, + body: {boost: 1}, + breadcrumbs: {boost: 0} + } + }, + mark_exclude = [], + marker = new Mark(content), + current_searchterm = "", + URL_SEARCH_PARAM = 'search', + URL_MARK_PARAM = 'highlight', + teaser_count = 0, + + SEARCH_HOTKEY_KEYCODE = 83, + ESCAPE_KEYCODE = 27, + DOWN_KEYCODE = 40, + UP_KEYCODE = 38, + SELECT_KEYCODE = 13; + + function hasFocus() { + return searchbar === document.activeElement; + } + + function removeChildren(elem) { + while (elem.firstChild) { + elem.removeChild(elem.firstChild); + } + } + + // Helper to parse a url into its building blocks. + function parseURL(url) { + var a = document.createElement('a'); + a.href = url; + return { + source: url, + protocol: a.protocol.replace(':',''), + host: a.hostname, + port: a.port, + params: (function(){ + var ret = {}; + var seg = a.search.replace(/^\?/,'').split('&'); + var len = seg.length, i = 0, s; + for (;i': '>', + '"': '"', + "'": ''' + }; + var repl = function(c) { return MAP[c]; }; + return function(s) { + return s.replace(/[&<>'"]/g, repl); + }; + })(); + + function formatSearchMetric(count, searchterm) { + if (count == 1) { + return count + " search result for '" + searchterm + "':"; + } else if (count == 0) { + return "No search results for '" + searchterm + "'."; + } else { + return count + " search results for '" + searchterm + "':"; + } + } + + function formatSearchResult(result, searchterms) { + var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms); + teaser_count++; + + // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor + var url = doc_urls[result.ref].split("#"); + if (url.length == 1) { // no anchor found + url.push(""); + } + + // encodeURIComponent escapes all chars that could allow an XSS except + // for '. Due to that we also manually replace ' with its url-encoded + // representation (%27). + var searchterms = encodeURIComponent(searchterms.join(" ")).replace(/\'/g, "%27"); + + return '' + result.doc.breadcrumbs + '' + + '' + + teaser + ''; + } + + function makeTeaser(body, searchterms) { + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in . + var stemmed_searchterms = searchterms.map(function(w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var searchterm_weight = 40; + var weighted = []; // contains elements of ["word", weight, index_in_document] + // split in sentences, then words + var sentences = body.toLowerCase().split('. '); + var index = 0; + var value = 0; + var searchterm_found = false; + for (var sentenceindex in sentences) { + var words = sentences[sentenceindex].split(' '); + value = 8; + for (var wordindex in words) { + var word = words[wordindex]; + if (word.length > 0) { + for (var searchtermindex in stemmed_searchterms) { + if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) { + value = searchterm_weight; + searchterm_found = true; + } + }; + weighted.push([word, value, index]); + value = 2; + } + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + }; + index += 1; // because we split at a two-char boundary '. ' + }; + + if (weighted.length == 0) { + return body; + } + + var window_weight = []; + var window_size = Math.min(weighted.length, results_options.teaser_word_count); + + var cur_sum = 0; + for (var wordindex = 0; wordindex < window_size; wordindex++) { + cur_sum += weighted[wordindex][1]; + }; + window_weight.push(cur_sum); + for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) { + cur_sum -= weighted[wordindex][1]; + cur_sum += weighted[wordindex + window_size][1]; + window_weight.push(cur_sum); + }; + + if (searchterm_found) { + var max_sum = 0; + var max_sum_window_index = 0; + // backwards + for (var i = window_weight.length - 1; i >= 0; i--) { + if (window_weight[i] > max_sum) { + max_sum = window_weight[i]; + max_sum_window_index = i; + } + }; + } else { + max_sum_window_index = 0; + } + + // add around searchterms + var teaser_split = []; + var index = weighted[max_sum_window_index][2]; + for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) { + var word = weighted[i]; + if (index < word[2]) { + // missing text from index to start of `word` + teaser_split.push(body.substring(index, word[2])); + index = word[2]; + } + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + index = word[2] + word[0].length; + teaser_split.push(body.substring(word[2], index)); + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + }; + + return teaser_split.join(''); + } + + function init(config) { + results_options = config.results_options; + search_options = config.search_options; + searchbar_outer = config.searchbar_outer; + doc_urls = config.doc_urls; + searchindex = elasticlunr.Index.load(config.index); + + // Set up events + searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false); + searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false); + document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false); + // If the user uses the browser buttons, do the same as if a reload happened + window.onpopstate = function(e) { doSearchOrMarkFromUrl(); }; + // Suppress "submit" events so the page doesn't reload when the user presses Enter + document.addEventListener('submit', function(e) { e.preventDefault(); }, false); + + // If reloaded, do the search or mark again, depending on the current url parameters + doSearchOrMarkFromUrl(); + } + + function unfocusSearchbar() { + // hacky, but just focusing a div only works once + var tmp = document.createElement('input'); + tmp.setAttribute('style', 'position: absolute; opacity: 0;'); + searchicon.appendChild(tmp); + tmp.focus(); + tmp.remove(); + } + + // On reload or browser history backwards/forwards events, parse the url and do search or mark + function doSearchOrMarkFromUrl() { + // Check current URL for search request + var url = parseURL(window.location.href); + if (url.params.hasOwnProperty(URL_SEARCH_PARAM) + && url.params[URL_SEARCH_PARAM] != "") { + showSearch(true); + searchbar.value = decodeURIComponent( + (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20')); + searchbarKeyUpHandler(); // -> doSearch() + } else { + showSearch(false); + } + + if (url.params.hasOwnProperty(URL_MARK_PARAM)) { + var words = decodeURIComponent(url.params[URL_MARK_PARAM]).split(' '); + marker.mark(words, { + exclude: mark_exclude + }); + + var markers = document.querySelectorAll("mark"); + function hide() { + for (var i = 0; i < markers.length; i++) { + markers[i].classList.add("fade-out"); + window.setTimeout(function(e) { marker.unmark(); }, 300); + } + } + for (var i = 0; i < markers.length; i++) { + markers[i].addEventListener('click', hide); + } + } + } + + // Eventhandler for keyevents on `document` + function globalKeyHandler(e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text' || !hasFocus() && /^(?:input|select|textarea)$/i.test(e.target.nodeName)) { return; } + + if (e.keyCode === ESCAPE_KEYCODE) { + e.preventDefault(); + searchbar.classList.remove("active"); + setSearchUrlParameters("", + (searchbar.value.trim() !== "") ? "push" : "replace"); + if (hasFocus()) { + unfocusSearchbar(); + } + showSearch(false); + marker.unmark(); + } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) { + e.preventDefault(); + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) { + e.preventDefault(); + unfocusSearchbar(); + searchresults.firstElementChild.classList.add("focus"); + } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE + || e.keyCode === UP_KEYCODE + || e.keyCode === SELECT_KEYCODE)) { + // not `:focus` because browser does annoying scrolling + var focused = searchresults.querySelector("li.focus"); + if (!focused) return; + e.preventDefault(); + if (e.keyCode === DOWN_KEYCODE) { + var next = focused.nextElementSibling; + if (next) { + focused.classList.remove("focus"); + next.classList.add("focus"); + } + } else if (e.keyCode === UP_KEYCODE) { + focused.classList.remove("focus"); + var prev = focused.previousElementSibling; + if (prev) { + prev.classList.add("focus"); + } else { + searchbar.select(); + } + } else { // SELECT_KEYCODE + window.location.assign(focused.querySelector('a')); + } + } + } + + function showSearch(yes) { + if (yes) { + search_wrap.classList.remove('hidden'); + searchicon.setAttribute('aria-expanded', 'true'); + } else { + search_wrap.classList.add('hidden'); + searchicon.setAttribute('aria-expanded', 'false'); + var results = searchresults.children; + for (var i = 0; i < results.length; i++) { + results[i].classList.remove("focus"); + } + } + } + + function showResults(yes) { + if (yes) { + searchresults_outer.classList.remove('hidden'); + } else { + searchresults_outer.classList.add('hidden'); + } + } + + // Eventhandler for search icon + function searchIconClickHandler() { + if (search_wrap.classList.contains('hidden')) { + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else { + showSearch(false); + } + } + + // Eventhandler for keyevents while the searchbar is focused + function searchbarKeyUpHandler() { + var searchterm = searchbar.value.trim(); + if (searchterm != "") { + searchbar.classList.add("active"); + doSearch(searchterm); + } else { + searchbar.classList.remove("active"); + showResults(false); + removeChildren(searchresults); + } + + setSearchUrlParameters(searchterm, "push_if_new_search_else_replace"); + + // Remove marks + marker.unmark(); + } + + // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor . + // `action` can be one of "push", "replace", "push_if_new_search_else_replace" + // and replaces or pushes a new browser history item. + // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet. + function setSearchUrlParameters(searchterm, action) { + var url = parseURL(window.location.href); + var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM); + if (searchterm != "" || action == "push_if_new_search_else_replace") { + url.params[URL_SEARCH_PARAM] = searchterm; + delete url.params[URL_MARK_PARAM]; + url.hash = ""; + } else { + delete url.params[URL_MARK_PARAM]; + delete url.params[URL_SEARCH_PARAM]; + } + // A new search will also add a new history item, so the user can go back + // to the page prior to searching. A updated search term will only replace + // the url. + if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) { + history.pushState({}, document.title, renderURL(url)); + } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) { + history.replaceState({}, document.title, renderURL(url)); + } + } + + function doSearch(searchterm) { + + // Don't search the same twice + if (current_searchterm == searchterm) { return; } + else { current_searchterm = searchterm; } + + if (searchindex == null) { return; } + + // Do the actual search + var results = searchindex.search(searchterm, search_options); + var resultcount = Math.min(results.length, results_options.limit_results); + + // Display search metrics + searchresults_header.innerText = formatSearchMetric(resultcount, searchterm); + + // Clear and insert results + var searchterms = searchterm.split(' '); + removeChildren(searchresults); + for(var i = 0; i < resultcount ; i++){ + var resultElem = document.createElement('li'); + resultElem.innerHTML = formatSearchResult(results[i], searchterms); + searchresults.appendChild(resultElem); + } + + // Display results + showResults(true); + } + + fetch(path_to_root + 'searchindex.json') + .then(response => response.json()) + .then(json => init(json)) + .catch(error => { // Try to load searchindex.js if fetch failed + var script = document.createElement('script'); + script.src = path_to_root + 'searchindex.js'; + script.onload = () => init(window.search); + document.head.appendChild(script); + }); + + // Exported functions + search.hasFocus = hasFocus; +})(window.search); diff --git a/microbit/searchindex.js b/microbit/searchindex.js new file mode 100644 index 000000000..b03b8b896 --- /dev/null +++ b/microbit/searchindex.js @@ -0,0 +1 @@ +Object.assign(window.search, {"doc_urls":["index.html#discovery","index.html#scope","index.html#approach","index.html#non-goals","index.html#reporting-problems","index.html#other-embedded-rust-resources","01-background/index.html#background","01-background/index.html#whats-a-microcontroller","01-background/index.html#what-can-you-do-with-a-microcontroller","01-background/index.html#when-should-i-use-a-microcontroller","01-background/index.html#when-should-i--not--use-a-microcontroller","01-background/index.html#why-use-rust-and-not-c","01-background/index.html#why-should-i-not-use-rust","02-requirements/index.html#hardwareknowledge-requirements","03-setup/index.html#setting-up-a-development-environment","03-setup/index.html#documentation","03-setup/index.html#tools","03-setup/index.html#rustc--cargo","03-setup/index.html#cargo-binutils","03-setup/index.html#cargo-embed","03-setup/index.html#this-repository","03-setup/index.html#os-specific-instructions","03-setup/linux.html#linux","03-setup/linux.html#ubuntu-2004-or-newer--debian-10-or-newer","03-setup/linux.html#fedora-32-or-newer","03-setup/linux.html#arch-linux","03-setup/linux.html#other-distros","03-setup/linux.html#udev-rules","03-setup/windows.html#windows","03-setup/windows.html#arm-none-eabi-gdb","03-setup/windows.html#putty","03-setup/macos.html#macos","03-setup/verify.html#verify-the-installation","03-setup/verify.html#linux-only","03-setup/verify.html#verify-permissions","03-setup/verify.html#all","03-setup/verify.html#verifying-cargo-embed","03-setup/IDE.html#getting-the-most-out-of-your-ide","03-setup/IDE.html#auto-completion-type-annotation-and-more","03-setup/IDE.html#ide-configuration","03-setup/IDE.html#how-to-build-with-intellij","04-meet-your-hardware/index.html#meet-your-hardware","04-meet-your-hardware/index.html#microbit","04-meet-your-hardware/microbit-v2.html#nordic-nrf52833-the-nrf52-microbit-v2","04-meet-your-hardware/microbit-v2.html#arm-cortex-m4","04-meet-your-hardware/microbit-v1.html#nordic-nrf51822-the-nrf51-microbit-v1","04-meet-your-hardware/microbit-v1.html#arm-cortex-m0","04-meet-your-hardware/terminology.html#rust-embedded-terminology","04-meet-your-hardware/terminology.html#abstraction-layers","04-meet-your-hardware/terminology.html#peripheral-access-crate-pac","04-meet-your-hardware/terminology.html#the-hardware-abstraction-layer-hal","04-meet-your-hardware/terminology.html#the-board-support-crate-historically-called-board-support-package-or-bsp","04-meet-your-hardware/terminology.html#unifying-the-layers","04-meet-your-hardware/terminology.html#further-reading","05-led-roulette/index.html#led-roulette","05-led-roulette/build-it.html#build-it","05-led-roulette/flash-it.html#flash-it","05-led-roulette/debug-it.html#debug-it","05-led-roulette/debug-it.html#how-does-this-even-work","05-led-roulette/debug-it.html#lets-debug","05-led-roulette/light-it-up.html#light-it-up","05-led-roulette/light-it-up.html#embedded-hal","05-led-roulette/light-it-up.html#the-microbit-leds","05-led-roulette/light-it-up.html#actually-lighting-it-up","05-led-roulette/light-it-up.html#testing-it","05-led-roulette/it-blinks.html#it-blinks","05-led-roulette/it-blinks.html#delaying","05-led-roulette/it-blinks.html#blinking","05-led-roulette/the-challenge.html#the-challenge","05-led-roulette/my-solution.html#my-solution","06-serial-communication/index.html#serial-communication","06-serial-communication/nix-tooling.html#nix-tooling","06-serial-communication/nix-tooling.html#connecting-the-microbit-board","06-serial-communication/nix-tooling.html#minicom","06-serial-communication/nix-tooling.html#minicom-commands","06-serial-communication/windows-tooling.html#windows-tooling","07-uart/index.html#uart","07-uart/index.html#setup","07-uart/send-a-single-byte.html#send-a-single-byte","07-uart/send-a-single-byte.html#testing-it","07-uart/send-a-string.html#send-a-string","07-uart/naive-approch-write.html#naive-approach-and-write","07-uart/naive-approch-write.html#naive-approach","07-uart/naive-approch-write.html#write-and-corefmtwrite","07-uart/receive-a-single-byte.html#receive-a-single-byte","07-uart/echo-server.html#echo-server","07-uart/reverse-a-string.html#reverse-a-string","07-uart/my-solution.html#my-solution","08-i2c/index.html#i2c","08-i2c/the-general-protocol.html#general-protocol","08-i2c/the-general-protocol.html#controller---target","08-i2c/the-general-protocol.html#controller---target-1","08-i2c/lsm303agr.html#lsm303agr","08-i2c/read-a-single-register.html#read-a-single-register","08-i2c/read-a-single-register.html#testing-it","08-i2c/using-a-driver.html#using-a-driver","08-i2c/the-challenge.html#the-challenge","08-i2c/my-solution.html#my-solution","09-led-compass/index.html#led-compass","09-led-compass/calibration.html#calibration","09-led-compass/take-1.html#take-1","09-led-compass/solution-1.html#solution-1","09-led-compass/take-2.html#take-2","09-led-compass/solution-2.html#solution-2","09-led-compass/magnitude.html#magnitude","10-punch-o-meter/index.html#punch-o-meter","10-punch-o-meter/gravity-is-up.html#gravity-is-up","10-punch-o-meter/the-challenge.html#the-challenge","10-punch-o-meter/my-solution.html#my-solution","11-snake-game/index.html#snake-game","11-snake-game/game-logic.html#game-logic","11-snake-game/game-logic.html#the-game-module","11-snake-game/game-logic.html#the-main-file","11-snake-game/controls.html#controls","11-snake-game/controls.html#the-controls-module","11-snake-game/controls.html#updating-the-main-file","11-snake-game/nonblocking-display.html#using-the-non-blocking-display","explore.html#whats-left-for-you-to-explore","explore.html#topics-about-embedded-software","explore.html#multitasking","explore.html#sleeping","explore.html#topics-related-to-microcontroller-capabilities","explore.html#direct-memory-access-dma","explore.html#interrupts","explore.html#pulse-width-modulation-pwm","explore.html#digital-inputs","explore.html#analog-to-digital-converters-adc","explore.html#digital-to-analog-converters-dac","explore.html#real-time-clock-rtc","explore.html#other-communication-protocols","explore.html#general-embedded-relevant-topics","explore.html#gyroscopes","explore.html#servo-and-stepper-motors","explore.html#sensor-fusion","appendix/1-general-troubleshooting/index.html#general-troubleshooting","appendix/1-general-troubleshooting/index.html#cargo-embed-problems","appendix/1-general-troubleshooting/index.html#cargo-problems","appendix/1-general-troubleshooting/index.html#cant-find-crate-for-core","appendix/2-how-to-use-gdb/index.html#how-to-use-gdb","appendix/2-how-to-use-gdb/index.html#general-debugging","appendix/2-how-to-use-gdb/index.html#dealing-with-breakpoints","appendix/2-how-to-use-gdb/index.html#controlling-execution","appendix/2-how-to-use-gdb/index.html#printing-information","appendix/2-how-to-use-gdb/index.html#looking-at-the-symbol-table","appendix/2-how-to-use-gdb/index.html#poking-around-the-program-stack","appendix/2-how-to-use-gdb/index.html#controlling-cargo-embed-remotely"],"index":{"documentStore":{"docInfo":{"0":{"body":18,"breadcrumbs":2,"title":1},"1":{"body":59,"breadcrumbs":2,"title":1},"10":{"body":34,"breadcrumbs":3,"title":2},"100":{"body":222,"breadcrumbs":6,"title":2},"101":{"body":138,"breadcrumbs":6,"title":2},"102":{"body":206,"breadcrumbs":6,"title":2},"103":{"body":161,"breadcrumbs":6,"title":2},"104":{"body":215,"breadcrumbs":4,"title":1},"105":{"body":48,"breadcrumbs":6,"title":3},"106":{"body":152,"breadcrumbs":7,"title":2},"107":{"body":113,"breadcrumbs":5,"title":1},"108":{"body":165,"breadcrumbs":5,"title":1},"109":{"body":123,"breadcrumbs":4,"title":2},"11":{"body":51,"breadcrumbs":4,"title":3},"110":{"body":66,"breadcrumbs":6,"title":2},"111":{"body":998,"breadcrumbs":6,"title":2},"112":{"body":269,"breadcrumbs":6,"title":2},"113":{"body":39,"breadcrumbs":4,"title":1},"114":{"body":345,"breadcrumbs":5,"title":2},"115":{"body":119,"breadcrumbs":6,"title":3},"116":{"body":343,"breadcrumbs":9,"title":4},"117":{"body":40,"breadcrumbs":6,"title":3},"118":{"body":21,"breadcrumbs":6,"title":3},"119":{"body":106,"breadcrumbs":4,"title":1},"12":{"body":51,"breadcrumbs":3,"title":2},"120":{"body":56,"breadcrumbs":4,"title":1},"121":{"body":21,"breadcrumbs":7,"title":4},"122":{"body":62,"breadcrumbs":7,"title":4},"123":{"body":82,"breadcrumbs":4,"title":1},"124":{"body":100,"breadcrumbs":7,"title":4},"125":{"body":48,"breadcrumbs":5,"title":2},"126":{"body":46,"breadcrumbs":7,"title":4},"127":{"body":37,"breadcrumbs":7,"title":4},"128":{"body":27,"breadcrumbs":7,"title":4},"129":{"body":133,"breadcrumbs":5,"title":2},"13":{"body":186,"breadcrumbs":4,"title":2},"130":{"body":13,"breadcrumbs":7,"title":4},"131":{"body":49,"breadcrumbs":4,"title":1},"132":{"body":48,"breadcrumbs":6,"title":3},"133":{"body":198,"breadcrumbs":5,"title":2},"134":{"body":0,"breadcrumbs":4,"title":2},"135":{"body":41,"breadcrumbs":5,"title":3},"136":{"body":0,"breadcrumbs":4,"title":2},"137":{"body":94,"breadcrumbs":6,"title":4},"138":{"body":17,"breadcrumbs":4,"title":2},"139":{"body":32,"breadcrumbs":4,"title":2},"14":{"body":16,"breadcrumbs":8,"title":4},"140":{"body":94,"breadcrumbs":4,"title":2},"141":{"body":66,"breadcrumbs":4,"title":2},"142":{"body":100,"breadcrumbs":4,"title":2},"143":{"body":70,"breadcrumbs":5,"title":3},"144":{"body":83,"breadcrumbs":6,"title":4},"145":{"body":8,"breadcrumbs":6,"title":4},"15":{"body":16,"breadcrumbs":5,"title":1},"16":{"body":80,"breadcrumbs":5,"title":1},"17":{"body":32,"breadcrumbs":6,"title":2},"18":{"body":17,"breadcrumbs":6,"title":2},"19":{"body":34,"breadcrumbs":6,"title":2},"2":{"body":38,"breadcrumbs":2,"title":1},"20":{"body":37,"breadcrumbs":5,"title":1},"21":{"body":9,"breadcrumbs":7,"title":3},"22":{"body":6,"breadcrumbs":6,"title":1},"23":{"body":18,"breadcrumbs":11,"title":6},"24":{"body":16,"breadcrumbs":8,"title":3},"25":{"body":22,"breadcrumbs":7,"title":2},"26":{"body":70,"breadcrumbs":6,"title":1},"27":{"body":44,"breadcrumbs":7,"title":2},"28":{"body":0,"breadcrumbs":6,"title":1},"29":{"body":33,"breadcrumbs":9,"title":4},"3":{"body":64,"breadcrumbs":3,"title":2},"30":{"body":11,"breadcrumbs":6,"title":1},"31":{"body":21,"breadcrumbs":6,"title":1},"32":{"body":5,"breadcrumbs":8,"title":2},"33":{"body":0,"breadcrumbs":7,"title":1},"34":{"body":77,"breadcrumbs":8,"title":2},"35":{"body":0,"breadcrumbs":6,"title":0},"36":{"body":154,"breadcrumbs":9,"title":3},"37":{"body":34,"breadcrumbs":10,"title":3},"38":{"body":42,"breadcrumbs":12,"title":5},"39":{"body":19,"breadcrumbs":9,"title":2},"4":{"body":10,"breadcrumbs":3,"title":2},"40":{"body":54,"breadcrumbs":9,"title":2},"41":{"body":5,"breadcrumbs":4,"title":2},"42":{"body":89,"breadcrumbs":3,"title":1},"43":{"body":207,"breadcrumbs":9,"title":5},"44":{"body":125,"breadcrumbs":7,"title":3},"45":{"body":209,"breadcrumbs":9,"title":5},"46":{"body":125,"breadcrumbs":7,"title":3},"47":{"body":12,"breadcrumbs":8,"title":3},"48":{"body":12,"breadcrumbs":7,"title":2},"49":{"body":34,"breadcrumbs":9,"title":4},"5":{"body":22,"breadcrumbs":4,"title":3},"50":{"body":37,"breadcrumbs":9,"title":4},"51":{"body":45,"breadcrumbs":14,"title":9},"52":{"body":82,"breadcrumbs":7,"title":2},"53":{"body":20,"breadcrumbs":7,"title":2},"54":{"body":282,"breadcrumbs":4,"title":2},"55":{"body":536,"breadcrumbs":4,"title":1},"56":{"body":231,"breadcrumbs":4,"title":1},"57":{"body":0,"breadcrumbs":4,"title":1},"58":{"body":67,"breadcrumbs":5,"title":2},"59":{"body":755,"breadcrumbs":5,"title":2},"6":{"body":0,"breadcrumbs":2,"title":1},"60":{"body":0,"breadcrumbs":6,"title":2},"61":{"body":30,"breadcrumbs":6,"title":2},"62":{"body":81,"breadcrumbs":6,"title":2},"63":{"body":177,"breadcrumbs":7,"title":3},"64":{"body":64,"breadcrumbs":5,"title":1},"65":{"body":0,"breadcrumbs":4,"title":1},"66":{"body":178,"breadcrumbs":4,"title":1},"67":{"body":89,"breadcrumbs":4,"title":1},"68":{"body":116,"breadcrumbs":4,"title":1},"69":{"body":541,"breadcrumbs":4,"title":1},"7":{"body":30,"breadcrumbs":3,"title":2},"70":{"body":285,"breadcrumbs":4,"title":2},"71":{"body":0,"breadcrumbs":6,"title":2},"72":{"body":85,"breadcrumbs":7,"title":3},"73":{"body":164,"breadcrumbs":5,"title":1},"74":{"body":43,"breadcrumbs":6,"title":2},"75":{"body":139,"breadcrumbs":6,"title":2},"76":{"body":44,"breadcrumbs":2,"title":1},"77":{"body":29,"breadcrumbs":2,"title":1},"78":{"body":295,"breadcrumbs":7,"title":3},"79":{"body":54,"breadcrumbs":5,"title":1},"8":{"body":94,"breadcrumbs":2,"title":1},"80":{"body":23,"breadcrumbs":5,"title":2},"81":{"body":0,"breadcrumbs":7,"title":3},"82":{"body":90,"breadcrumbs":6,"title":2},"83":{"body":107,"breadcrumbs":6,"title":2},"84":{"body":151,"breadcrumbs":7,"title":3},"85":{"body":27,"breadcrumbs":5,"title":2},"86":{"body":131,"breadcrumbs":5,"title":2},"87":{"body":94,"breadcrumbs":3,"title":1},"88":{"body":158,"breadcrumbs":2,"title":1},"89":{"body":17,"breadcrumbs":5,"title":2},"9":{"body":133,"breadcrumbs":3,"title":2},"90":{"body":55,"breadcrumbs":5,"title":2},"91":{"body":53,"breadcrumbs":5,"title":2},"92":{"body":107,"breadcrumbs":3,"title":1},"93":{"body":310,"breadcrumbs":7,"title":3},"94":{"body":31,"breadcrumbs":5,"title":1},"95":{"body":250,"breadcrumbs":5,"title":2},"96":{"body":57,"breadcrumbs":3,"title":1},"97":{"body":146,"breadcrumbs":3,"title":1},"98":{"body":108,"breadcrumbs":4,"title":2},"99":{"body":124,"breadcrumbs":4,"title":1}},"docs":{"0":{"body":"Discover the world of microcontrollers through Rust ! This book is an introductory course on microcontroller-based embedded systems that uses Rust as the teaching language rather than the usual C/C++.","breadcrumbs":"Introduction » Discovery","id":"0","title":"Discovery"},"1":{"body":"The following topics will be covered (eventually, I hope): How to write, build, flash and debug an \"embedded\" (Rust) program. Functionality (\"peripherals\") commonly found in microcontrollers: Digital input and output, Pulse Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like Serial, I2C and SPI, etc. Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc. Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, closed loop control, etc.","breadcrumbs":"Introduction » Scope","id":"1","title":"Scope"},"10":{"body":"Where heavy computations are involved. To keep their power consumption low, microcontrollers have very limited computational resources available to them. For example, some microcontrollers don't even have hardware support for floating point operations. On those devices, performing a simple addition of single precision numbers can take hundreds of CPU cycles.","breadcrumbs":"Background » When should I not use a microcontroller?","id":"10","title":"When should I not use a microcontroller?"},"100":{"body":"What's the simplest way in which we can implement the LED compass, even if it's not perfect? For starters, we'd only care about the X and Y components of the magnetic field because when you look at a compass you always hold it in horizontal position and thus the compass is in the XY plane. If we only looked at the signs of the X and Y components we could determine to which quadrant the magnetic field belongs to. Now the question of course is which direction (north, north-east, etc.) do the 4 quadrants represent. In order to figure this out we can just rotate the micro:bit and observe how the quadrant changes whenever we point in another direction. After experimenting a bit we can find out that if we point the micro:bit in e.g. north-east direction, both the X and the Y component are always positive. Based on this information you should be able to figure out which direction the other quadrants represent. Once you figured out the relation between quadrant and direction you should be able to complete the template from below. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse led::Direction; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); let dir = match (data.x > 0, data.y > 0) { // Quadrant ??? (true, true) => Direction::NorthEast, // Quadrant ??? (false, true) => panic!(\"TODO\"), // Quadrant ??? (false, false) => panic!(\"TODO\"), // Quadrant ??? (true, false) => panic!(\"TODO\"), }; // use the led module to turn the direction into an LED arrow // and the led display functions from chapter 5 to display the // arrow }\n}","breadcrumbs":"LED compass » Take 1 » Take 1","id":"100","title":"Take 1"},"101":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse crate::led::Direction;\nuse crate::led::direction_to_led; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); let dir = match (data.x > 0, data.y > 0) { // Quadrant I (true, true) => Direction::NorthEast, // Quadrant II (false, true) => Direction::NorthWest, // Quadrant III (false, false) => Direction::SouthWest, // Quadrant IV (true, false) => Direction::SouthEast, }; // use the led module to turn the direction into an LED arrow // and the led display functions from chapter 5 to display the // arrow display.show(&mut timer, direction_to_led(dir), 100); }\n}","breadcrumbs":"LED compass » Solution 1 » Solution 1","id":"101","title":"Solution 1"},"102":{"body":"This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y axes of the magnetometer. We'll use the atan2 function. This function returns an angle in the -PI to PI range. The graphic below shows how this angle is measured: Although not explicitly shown in this graph the X axis points to the right and the Y axis points up. Here's the starter code. theta, in radians, has already been computed. You need to pick which LED to turn on based on the value of theta. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse crate::led::Direction;\nuse crate::led::direction_to_led; // You'll find this useful ;-)\nuse core::f32::consts::PI;\nuse libm::atan2f; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); // use libm's atan2f since this isn't in core yet let theta = atan2f(data.y as f32, data.x as f32); // Figure out the direction based on theta let dir = Direction::NorthEast; display.show(&mut timer, direction_to_led(dir), 100); }\n} Suggestions/tips: A whole circle rotation equals 360 degrees. PI radians is equivalent to 180 degrees. If theta was zero, which direction are you pointing at? If theta was, instead, very close to zero, which direction are you pointing at? If theta kept increasing, at what value would you change the direction","breadcrumbs":"LED compass » Take 2 » Take 2","id":"102","title":"Take 2"},"103":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse crate::led::Direction;\nuse crate::led::direction_to_led; // You'll find this useful ;-)\nuse core::f32::consts::PI;\nuse libm::atan2f; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); // use libm's atan2f since this isn't in core yet let theta = atan2f(data.y as f32, data.x as f32); // Figure out the direction based on theta let dir = if theta < -7. * PI / 8. { Direction::West } else if theta < -5. * PI / 8. { Direction::SouthWest } else if theta < -3. * PI / 8. { Direction::South } else if theta < -PI / 8. { Direction::SouthEast } else if theta < PI / 8. { Direction::East } else if theta < 3. * PI / 8. { Direction::NorthEast } else if theta < 5. * PI / 8. { Direction::North } else if theta < 7. * PI / 8. { Direction::NorthWest } else { Direction::West }; display.show(&mut timer, direction_to_led(dir), 100); }\n}","breadcrumbs":"LED compass » Solution 2 » Solution 2","id":"103","title":"Solution 2"},"104":{"body":"We have been working with the direction of the magnetic field but what is its real magnitude? According to the documentation about the mag_data() function the x y z values we are getting are in nanotesla. That means the only thing we have to compute in order to get the magnitude of the magnetic field in nanotesla is the magnitude of the 3D vector that our x y z values describe. As you might remember from school this is simply: // core doesn't have this function yet so we use libm, just like with\n// atan2f from before.\nuse libm::sqrtf;\nlet magnitude = sqrtf(x * x + y * y + z * z); Putting all this together in a program: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; use libm::sqrtf; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); let x = data.x as f32; let y = data.y as f32; let z = data.z as f32; let magnitude = sqrtf(x * x + y * y + z * z); rprintln!(\"{} nT, {} mG\", magnitude, magnitude/100.0); }\n} This program will report the magnitude (strength) of the magnetic field in nanotesla (nT) and milligauss (mG). The magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude varies depending on your geographical location) so you should see a value in that range or close to that range -- I see a magnitude of around 340 mG. Some questions: Without moving the board, what value do you see? Do you always see the same value? If you rotate the board, does the magnitude change? Should it change?","breadcrumbs":"LED compass » Magnitude » Magnitude","id":"104","title":"Magnitude"},"105":{"body":"In this section we'll be playing with the accelerometer that's in the board. What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, actually the maximum acceleration that you can reach because acceleration is what accelerometers measure. Strength and acceleration are proportional though so it's a good approximation. As we already know from previous chapters the accelerometer is built inside the LSM303AGR package. And just like the magnetometer, it is accessible using the I2C bus. It also has the same coordinate system as the magnetometer.","breadcrumbs":"Punch-o-meter » Punch-o-meter","id":"105","title":"Punch-o-meter"},"106":{"body":"What's the first thing we'll do? Perform a sanity check! You should already be able to write a program that continuously prints the accelerometer data on the RTT console from the I2C chapter . Do you observe something interesting even when holding the board parallel to the floor with the LED side facing down? What you should see like this is that both the X and Y values are rather close to 0, while the Z value is at around 1000. Which is weird because the board is not moving yet its acceleration is non-zero. What's going on? This must be related to the gravity, right? Because the acceleration of gravity is 1 g (aha, 1 g = 1000 from the accelerometer). But the gravity pulls objects downwards so the acceleration along the Z axis should be negative not positive Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity to the X or Y axis but the acceleration measured by the accelerometer is always pointing up. What happens here is that the accelerometer is measuring the proper acceleration of the board not the acceleration you are observing. This proper acceleration is the acceleration of the board as seen from an observer that's in free fall. An observer that's in free fall is moving toward the center of the Earth with an acceleration of 1g; from its point of view the board is actually moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the proper acceleration is pointing up. This also means that if the board was in free fall, the accelerometer would report a proper acceleration of zero. Please, don't try that at home. Yes, physics is hard. Let's move on.","breadcrumbs":"Punch-o-meter » Gravity is up? » Gravity is up?","id":"106","title":"Gravity is up?"},"107":{"body":"To keep things simple, we'll measure the acceleration only in the X axis while the board remains horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed before which would be hard because that 1g could have X Y Z components depending on how the board is oriented. Here's what the punch-o-meter must do: By default, the app is not \"observing\" the acceleration of the board. When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), the app should start a new measurement. During that measurement interval, the app should keep track of the maximum acceleration observed After the measurement interval ends, the app must report the maximum acceleration observed. You can report the value using the rprintln! macro. Give it a try and let me know how hard you can punch ;-). NOTE There are two additional APIs that should be useful for this task we haven't discussed yet. First the set_accel_scale one which you need to measure high g values. Secondly the Countdown trait from embedded_hal. If you decide to use this to keep your measurement intervals you will have to pattern match on the nb::Result type instead of using the block! macro we have seen in previous chapters.","breadcrumbs":"Punch-o-meter » The challenge » The challenge","id":"107","title":"The challenge"},"108":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A,\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A,\n}; use lsm303agr::{ AccelScale, AccelOutputDataRate, Lsm303agr,\n}; use microbit::hal::timer::Timer;\nuse microbit::hal::prelude::*;\nuse nb::Error; #[entry]\nfn main() -> ! { const THRESHOLD: f32 = 0.5; rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut countdown = Timer::new(board.TIMER0); let mut delay = Timer::new(board.TIMER1); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); // Allow the sensor to measure up to 16 G since human punches // can actually be quite fast sensor.set_accel_scale(AccelScale::G16).unwrap(); let mut max_g = 0.; let mut measuring = false; loop { while !sensor.accel_status().unwrap().xyz_new_data {} // x acceleration in g let g_x = sensor.accel_data().unwrap().x as f32 / 1000.0; if measuring { // Check the status of our contdown match countdown.wait() { // countdown isn't done yet Err(Error::WouldBlock) => { if g_x > max_g { max_g = g_x; } }, // Countdown is done Ok(_) => { // Report max value rprintln!(\"Max acceleration: {}g\", max_g); // Reset max_g = 0.; measuring = false; }, // Since the nrf52 and nrf51 HAL have Void as an error type // this path cannot occur, as Void is an empty type Err(Error::Other(_)) => { unreachable!() } } } else { // If acceleration goes above a threshold, we start measuring if g_x > THRESHOLD { rprintln!(\"START!\"); measuring = true; max_g = g_x; // The documentation notes that the timer works at a frequency // of 1 Mhz, so in order to wait for 1 second we have to // set it to 1_000_000 ticks. countdown.start(1_000_000_u32); } } delay.delay_ms(20_u8); }\n}","breadcrumbs":"Punch-o-meter » My solution » My solution","id":"108","title":"My solution"},"109":{"body":"We're now going to implement a basic snake game that you can play on a micro:bit v2 using its 5x5 LED matrix as a display and its two buttons as controls. In doing so, we will build on some of the concepts covered in the earlier chapters of this book, and also learn about some new peripherals and concepts. In particular, we will be using the concept of hardware interrupts to allow our program to interact with multiple peripherals at once. Interrupts are a common way to implement concurrency in embedded contexts. There is a good introduction to concurrency in an embedded context in the Embedded Rust Book that I suggest you read through before proceeding. NOTE This chapter has been developed for the micro:bit v2 only, not the v1. Contributions to port the code to the v1 are welcome. NOTE In this chapter, we are going to use later versions of certain libraries that have been used in previous chapters. We are going to use version 0.13.0 of the microbit library (the preceding chapters have used 0.12.0). Version 0.13.0 fixes a couple of bugs in the non-blocking display code that we will be using. We are also going to use version 0.8.0 of the heapless library (previous chapters used version 0.7.10), which allows us to use certain of its data structures with structs that implement Rust's core::Hash trait.","breadcrumbs":"Snake game » Snake game","id":"109","title":"Snake game"},"11":{"body":"Hopefully, I don't need to convince you here as you are probably familiar with the language differences between Rust and C. One point I do want to bring up is package management. C lacks an official, widely accepted package management solution whereas Rust has Cargo. This makes development much easier. And, IMO, easy package management encourages code reuse because libraries can be easily integrated into an application which is also a good thing as libraries get more \"battle testing\".","breadcrumbs":"Background » Why use Rust and not C?","id":"11","title":"Why use Rust and not C?"},"110":{"body":"First, we are going to describe the game logic. You are probably familiar with snake games, but if not, the basic idea is that the player guides a snake around a 2D grid. At any given time, there is some \"food\" at a random location on the grid and the goal of the game is to get the snake to \"eat\" as much food as possible. Each time the snake eats some food it grows in length. The player loses if the snake crashes into its own tail. In some variants of the game, the player also loses if the snake crashes into the edge of the grid, but given the small size of our grid we are going to implement a \"wraparound\" rule where, if the snake goes off one edge of the grid, it will continue from the opposite edge.","breadcrumbs":"Snake game » Game logic » Game logic","id":"110","title":"Game logic"},"111":{"body":"The code in this section should go in a separate file, game.rs, in our src directory. use heapless::FnvIndexSet; /// A single point on the grid.\n#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]\nstruct Coords { // Signed ints to allow negative values (handy when checking if we have gone // off the top or left of the grid) row: i8, col: i8\n} impl Coords { /// Get random coordinates within a grid. `exclude` is an optional set of /// coordinates which should be excluded from the output. fn random( rng: &mut Prng, // We define the Prng struct below exclude: Option<&FnvIndexSet> ) -> Self { let mut coords = Coords { row: ((rng.random_u32() as usize) % 5) as i8, col: ((rng.random_u32() as usize) % 5) as i8 }; while exclude.is_some_and(|exc| exc.contains(&coords)) { coords = Coords { row: ((rng.random_u32() as usize) % 5) as i8, col: ((rng.random_u32() as usize) % 5) as i8 } } coords } /// Whether the point is outside the bounds of the grid. fn is_out_of_bounds(&self) -> bool { self.row < 0 || self.row >= 5 || self.col < 0 || self.col >= 5 }\n} We use a Coords struct to refer to a position on the grid. Because Coords only contains two integers, we tell the compiler to derive an implementation of the Copy trait for it, so we can pass around Coords structs without having to worry about ownership. We define an associated function, Coords::random, which will give us a random position on the grid. We will use this later to determine where to place the snake's food. To do this, we need a source of random numbers. The nRF52833 has a random number generator (RNG) peripheral, documented at section 6.19 of the spec sheet . The HAL gives us a simple interface to the RNG via the microbit::hal::rng::Rng struct. However, it is a blocking interface, and the time needed to generate one random byte of data is variable and unpredictable. We therefore define a pseudo-random number generator (PRNG) which uses an xorshift algorithm to generate pseudo-random u32 values that we can use to determine where to place food. The algorithm is basic and not cryptographically secure, but it is efficient, easy to implement and good enough for our humble snake game. Our Prng struct requires an initial seed value, which we get from the RNG peripheral. /// A basic pseudo-random number generator.\nstruct Prng { value: u32\n} impl Prng { fn new(seed: u32) -> Self { Self {value: seed} } /// Basic xorshift PRNG function: see https://en.wikipedia.org/wiki/Xorshift fn xorshift32(mut input: u32) -> u32 { input ^= input << 13; input ^= input >> 17; input ^= input << 5; input } /// Return a pseudo-random u32. fn random_u32(&mut self) -> u32 { self.value = Self::xorshift32(self.value); self.value }\n} We also need to define a few enums that help us manage the game's state: direction of movement, direction to turn, the current game status and the outcome of a particular \"step\" in the game (ie, a single movement of the snake). /// Define the directions the snake can move.\nenum Direction { Up, Down, Left, Right\n} /// What direction the snake should turn.\n#[derive(Debug, Copy, Clone)]\npub enum Turn { Left, Right, None\n} /// The current status of the game.\npub enum GameStatus { Won, Lost, Ongoing\n} /// The outcome of a single move/step.\nenum StepOutcome { /// Grid full (player wins) Full(Coords), /// Snake has collided with itself (player loses) Collision(Coords), /// Snake has eaten some food Eat(Coords), /// Snake has moved (and nothing else has happened) Move(Coords)\n} Next up we define a Snake struct, which keeps track of the coordinates occupied by the snake and its direction of travel. We use a queue (heapless::spsc::Queue) to keep track of the order of coordinates and a hash set (heapless::FnvIndexSet) to allow for quick collision detection. The Snake has methods to allow it to move. use heapless::spsc::Queue; // ... struct Snake { /// Coordinates of the snake's head. head: Coords, /// Queue of coordinates of the rest of the snake's body. The end of the tail is /// at the front. tail: Queue, /// A set containing all coordinates currently occupied by the snake (for fast /// collision checking). coord_set: FnvIndexSet, /// The direction the snake is currently moving in. direction: Direction\n} impl Snake { fn new() -> Self { let head = Coords { row: 2, col: 2 }; let initial_tail = Coords { row: 2, col: 1 }; let mut tail = Queue::new(); tail.enqueue(initial_tail).unwrap(); let mut coord_set: FnvIndexSet = FnvIndexSet::new(); coord_set.insert(head).unwrap(); coord_set.insert(initial_tail).unwrap(); Self { head, tail, coord_set, direction: Direction::Right, } } /// Move the snake onto the tile at the given coordinates. If `extend` is false, /// the snake's tail vacates the rearmost tile. fn move_snake(&mut self, coords: Coords, extend: bool) { // Location of head becomes front of tail self.tail.enqueue(self.head).unwrap(); // Head moves to new coords self.head = coords; self.coord_set.insert(coords).unwrap(); if !extend { let back = self.tail.dequeue().unwrap(); self.coord_set.remove(&back); } } fn turn_right(&mut self) { self.direction = match self.direction { Direction::Up => Direction::Right, Direction::Down => Direction::Left, Direction::Left => Direction::Up, Direction::Right => Direction::Down } } fn turn_left(&mut self) { self.direction = match self.direction { Direction::Up => Direction::Left, Direction::Down => Direction::Right, Direction::Left => Direction::Down, Direction::Right => Direction::Up } } fn turn(&mut self, direction: Turn) { match direction { Turn::Left => self.turn_left(), Turn::Right => self.turn_right(), Turn::None => () } }\n} The Game struct keeps track of the game state. It holds a Snake object, the current coordinates of the food, the speed of the game (which is used to determine the time that elapses between each movement of the snake), the status of the game (whether the game is ongoing or the player has won or lost) and the player's score. This struct contains methods to handle each step of the game, determining the snake's next move and updating the game state accordingly. It also contains two methods--game_matrix and score_matrix--that output 2D arrays of values which can be used to display the game state or the player score on the LED matrix (as we will see later). /// Struct to hold game state and associated behaviour\npub(crate) struct Game { rng: Prng, snake: Snake, food_coords: Coords, speed: u8, pub(crate) status: GameStatus, score: u8\n} impl Game { pub(crate) fn new(rng_seed: u32) -> Self { let mut rng = Prng::new(rng_seed); let mut tail: FnvIndexSet = FnvIndexSet::new(); tail.insert(Coords { row: 2, col: 1 }).unwrap(); let snake = Snake::new(); let food_coords = Coords::random(&mut rng, Some(&snake.coord_set)); Self { rng, snake, food_coords, speed: 1, status: GameStatus::Ongoing, score: 0 } } /// Reset the game state to start a new game. pub(crate) fn reset(&mut self) { self.snake = Snake::new(); self.place_food(); self.speed = 1; self.status = GameStatus::Ongoing; self.score = 0; } /// Randomly place food on the grid. fn place_food(&mut self) -> Coords { let coords = Coords::random(&mut self.rng, Some(&self.snake.coord_set)); self.food_coords = coords; coords } /// \"Wrap around\" out of bounds coordinates (eg, coordinates that are off to the /// left of the grid will appear in the rightmost column). Assumes that /// coordinates are out of bounds in one dimension only. fn wraparound(&self, coords: Coords) -> Coords { if coords.row < 0 { Coords { row: 4, ..coords } } else if coords.row >= 5 { Coords { row: 0, ..coords } } else if coords.col < 0 { Coords { col: 4, ..coords } } else { Coords { col: 0, ..coords } } } /// Determine the next tile that the snake will move on to (without actually /// moving the snake). fn get_next_move(&self) -> Coords { let head = &self.snake.head; let next_move = match self.snake.direction { Direction::Up => Coords { row: head.row - 1, col: head.col }, Direction::Down => Coords { row: head.row + 1, col: head.col }, Direction::Left => Coords { row: head.row, col: head.col - 1 }, Direction::Right => Coords { row: head.row, col: head.col + 1 }, }; if next_move.is_out_of_bounds() { self.wraparound(next_move) } else { next_move } } /// Assess the snake's next move and return the outcome. Doesn't actually update /// the game state. fn get_step_outcome(&self) -> StepOutcome { let next_move = self.get_next_move(); if self.snake.coord_set.contains(&next_move) { // We haven't moved the snake yet, so if the next move is at the end of // the tail, there won't actually be any collision (as the tail will have // moved by the time the head moves onto the tile) if next_move != *self.snake.tail.peek().unwrap() { StepOutcome::Collision(next_move) } else { StepOutcome::Move(next_move) } } else if next_move == self.food_coords { if self.snake.tail.len() == 23 { StepOutcome::Full(next_move) } else { StepOutcome::Eat(next_move) } } else { StepOutcome::Move(next_move) } } /// Handle the outcome of a step, updating the game's internal state. fn handle_step_outcome(&mut self, outcome: StepOutcome) { self.status = match outcome { StepOutcome::Collision(_) => GameStatus::Lost, StepOutcome::Full(_) => GameStatus::Won, StepOutcome::Eat(c) => { self.snake.move_snake(c, true); self.place_food(); self.score += 1; if self.score % 5 == 0 { self.speed += 1 } GameStatus::Ongoing }, StepOutcome::Move(c) => { self.snake.move_snake(c, false); GameStatus::Ongoing } } } pub(crate) fn step(&mut self, turn: Turn) { self.snake.turn(turn); let outcome = self.get_step_outcome(); self.handle_step_outcome(outcome); } /// Calculate the length of time to wait between game steps, in milliseconds. /// Generally this will get lower as the player's score increases, but need to /// be careful it cannot result in a value below zero. pub(crate) fn step_len_ms(&self) -> u32 { let result = 1000 - (200 * ((self.speed as i32) - 1)); if result < 200 { 200u32 } else { result as u32 } } /// Return an array representing the game state, which can be used to display the /// state on the microbit's LED matrix. Each `_brightness` parameter should be a /// value between 0 and 9. pub(crate) fn game_matrix( &self, head_brightness: u8, tail_brightness: u8, food_brightness: u8 ) -> [[u8; 5]; 5] { let mut values = [[0u8; 5]; 5]; values[self.snake.head.row as usize][self.snake.head.col as usize] = head_brightness; for t in &self.snake.tail { values[t.row as usize][t.col as usize] = tail_brightness } values[self.food_coords.row as usize][self.food_coords.col as usize] = food_brightness; values } /// Return an array representing the game score, which can be used to display the /// score on the microbit's LED matrix (by illuminating the equivalent number of /// LEDs, going left->right and top->bottom). pub(crate) fn score_matrix(&self) -> [[u8; 5]; 5] { let mut values = [[0u8; 5]; 5]; let full_rows = (self.score as usize) / 5; for r in 0..full_rows { values[r] = [1; 5]; } for c in 0..(self.score as usize) % 5 { values[full_rows][c] = 1; } values }\n}","breadcrumbs":"Snake game » Game logic » The game module","id":"111","title":"The game module"},"112":{"body":"The following code should be placed in our main.rs file. #![no_main]\n#![no_std] mod game; use cortex_m_rt::entry;\nuse microbit::{ Board, hal::{prelude::*, Rng, Timer}, display::blocking::Display\n};\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse crate::game::{Game, GameStatus, Turn}; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut rng = Rng::new(board.RNG); let mut game = Game::new(rng.random_u32()); let mut display = Display::new(board.display_pins); loop { loop { // Game loop let image = game.game_matrix(9, 9, 9); // The brightness values are meaningless at the moment as we haven't yet // implemented a display capable of displaying different brightnesses display.show(&mut timer, image, game.step_len_ms()); match game.status { GameStatus::Ongoing => game.step(Turn::None), // Placeholder as we // haven't implemented // controls yet _ => { for _ in 0..3 { display.clear(); timer.delay_ms(200u32); display.show(&mut timer, image, 200); } display.clear(); display.show(&mut timer, game.score_matrix(), 1000); break } } } game.reset(); }\n} After initialising the board and its timer and RNG peripherals, we initialise a Game struct and a Display from the microbit::display::blocking module. In our \"game loop\" (which runs inside of the \"main loop\" we place in our main function), we repeatedly perform the following steps: Get a 5x5 array of bytes representing the grid. The Game::get_matrix method takes three integer arguments (which should be between 0 and 9, inclusive) which will, eventually, represent how brightly the head, tail and food should be displayed. The basic Display we are using at this point does not support variable brightness, so we just provide values of 9 for each (but any non-zero value would work) at this stage. Display the matrix, for an amount of time determined by the Game::step_len_ms method. As currently implemented, this method basically provides for 1 second between steps, reducing by 200ms every time the player scores 5 points (eating 1 piece of food = 1 point), subject to a floor of 200ms. Check the game status. If it is Ongoing (which is its initial value), run a step of the game and update the game state (including its status property). Otherwise, the game is over, so flash the current image three times, then show the player's score (represented as a number of illuminated LEDs corresponding to the score), and exit the game loop. Our main loop just runs the game loop repeatedly, resetting the game's state after each iteration. If you run this, you should see two LEDs illuminated halfway down the display (the snake's head in the middle and its tail to the left). You will also see another LED illuminated somewhere on the board, representing the snake's food. Approximately each second, the snake will move one space to the right. Next we will add an ability to control the snake's movements.","breadcrumbs":"Snake game » Game logic » The main file","id":"112","title":"The main file"},"113":{"body":"Our protagonist will be controlled by the two buttons on the front of the micro:bit. Button A will turn to the (snake's) left, and button B will turn to the (snake's) right. We will use the microbit::pac::interrupt macro to handle button presses in a concurrent way. The interrupt will be generated by the micro:bit's GPIOTE ( G eneral P urpose I nput/ O utput T asks and E vents) peripheral.","breadcrumbs":"Snake game » Controls » Controls","id":"113","title":"Controls"},"114":{"body":"Code in this section should be placed in a separate file, controls.rs, in our src directory. We will need to keep track of two separate pieces of global mutable state: A reference to the GPIOTE peripheral, and a record of the selected direction to turn next. use core::cell::RefCell;\nuse cortex_m::interrupt::Mutex;\nuse microbit::hal::gpiote::Gpiote;\nuse crate::game::Turn; // ... static GPIO: Mutex>> = Mutex::new(RefCell::new(None));\nstatic TURN: Mutex> = Mutex::new(RefCell::new(Turn::None)); The data is wrapped in a RefCell to permit interior mutability. You can learn more about RefCell by reading its documentation and the relevant chapter of the Rust Book . The RefCell is, in turn, wrapped in a cortex_m::interrupt::Mutex to allow safe access. The Mutex provided by the cortex_m crate uses the concept of a critical section . Data in a Mutex can only be accessed from within a function or closure passed to cortex_m::interrupt:free, which ensures that the code in the function or closure cannot itself be interrupted. First, we will initialise the buttons. use cortex_m::interrupt::free;\nuse microbit::{ board::Buttons, pac::{self, GPIOTE}\n}; // ... /// Initialise the buttons and enable interrupts.\npub(crate) fn init_buttons(board_gpiote: GPIOTE, board_buttons: Buttons) { let gpiote = Gpiote::new(board_gpiote); let channel0 = gpiote.channel0(); channel0 .input_pin(&board_buttons.button_a.degrade()) .hi_to_lo() .enable_interrupt(); channel0.reset_events(); let channel1 = gpiote.channel1(); channel1 .input_pin(&board_buttons.button_b.degrade()) .hi_to_lo() .enable_interrupt(); channel1.reset_events(); free(move |cs| { *GPIO.borrow(cs).borrow_mut() = Some(gpiote); unsafe { pac::NVIC::unmask(pac::Interrupt::GPIOTE); } pac::NVIC::unpend(pac::Interrupt::GPIOTE); });\n} The GPIOTE peripheral on the nRF52 has 8 \"channels\", each of which can be connected to a GPIO pin and configured to respond to certain events, including rising edge (transition from low to high signal) and falling edge (high to low signal). A button is a GPIO pin which has high signal when not pressed and low signal otherwise. Therefore, a button press is a falling edge. We connect channel0 to button_a and channel1 to button_b and, in each case, tell them to generate events on a falling edge (hi_to_lo). We store a reference to our GPIOTE peripheral in the GPIO Mutex. We then unmask GPIOTE interrupts, allowing them to be propagated by the hardware, and call unpend to clear any interrupts with pending status (which may have been generated prior to the interrupts being unmasked). Next, we write the code that handles the interrupt. We use the interrupt macro provided by microbit::pac (in the case of the v2, it is re-exported from the nrf52833_hal crate). We define a function with the same name as the interrupt we want to handle (you can see them all here ) and annotate it with #[interrupt]. use microbit::pac::interrupt; // ... #[interrupt]\nfn GPIOTE() { free(|cs| { if let Some(gpiote) = GPIO.borrow(cs).borrow().as_ref() { let a_pressed = gpiote.channel0().is_event_triggered(); let b_pressed = gpiote.channel1().is_event_triggered(); let turn = match (a_pressed, b_pressed) { (true, false) => Turn::Left, (false, true) => Turn::Right, _ => Turn::None }; gpiote.channel0().reset_events(); gpiote.channel1().reset_events(); *TURN.borrow(cs).borrow_mut() = turn; } });\n} When a GPIOTE interrupt is generated, we check each button to see whether it has been pressed. If only button A has been pressed, we record that the snake should turn to the left. If only button B has been pressed, we record that the snake should turn to the right. In any other case, we record that the snake should not make any turn. The relevant turn is stored in the TURN Mutex. All of this happens within a free block, to ensure that we cannot be interrupted again while handling this interrupt. Finally, we expose a simple function to get the next turn. /// Get the next turn (i.e., the turn corresponding to the most recently pressed button).\npub fn get_turn(reset: bool) -> Turn { free(|cs| { let turn = *TURN.borrow(cs).borrow(); if reset { *TURN.borrow(cs).borrow_mut() = Turn::None } turn })\n} This function simply returns the current value of the TURN Mutex. It takes a single boolean argument, reset. If reset is true, the value of TURN is reset, i.e., set to Turn::None.","breadcrumbs":"Snake game » Controls » The controls module","id":"114","title":"The controls module"},"115":{"body":"Returning to our main function, we need to add a call to init_buttons before our main loop, and in the game loop, replace our placeholder Turn::None argument to the game.step method with the value returned by get_turn. #![no_main]\n#![no_std] mod game;\nmod control; use cortex_m_rt::entry;\nuse microbit::{ Board, hal::{prelude::*, Rng, Timer}, display::blocking::Display\n};\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; use crate::game::{Game, GameStatus};\nuse crate::control::{init_buttons, get_turn}; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut rng = Rng::new(board.RNG); let mut game = Game::new(rng.random_u32()); let mut display = Display::new(board.display_pins); init_buttons(board.GPIOTE, board.buttons); loop { // Main loop loop { // Game loop let image = game.game_matrix(9, 9, 9); // The brightness values are meaningless at the moment as we haven't yet // implemented a display capable of displaying different brightnesses display.show(&mut timer, image, game.step_len_ms()); match game.status { GameStatus::Ongoing => game.step(get_turn(true)), _ => { for _ in 0..3 { display.clear(); timer.delay_ms(200u32); display.show(&mut timer, image, 200); } display.clear(); display.show(&mut timer, game.score_matrix(), 1000); break } } } game.reset(); }\n} Now we can control the snake using the micro:bit's buttons!","breadcrumbs":"Snake game » Controls » Updating the main file","id":"115","title":"Updating the main file"},"116":{"body":"We now have a basic functioning snake game. But you might find that when the snake gets a bit longer, it can be difficult to tell the snake from the food, and to tell which direction the snake is heading, because all LEDs are the same brightness. Let's fix that. The microbit library makes available two different interfaces to the LED matrix: a basic, blocking interface, which we have been using, and a non-blocking interface which allows you to customise the brightness of each LED. At the hardware level, each LED is either \"on\" or \"off\", but the microbit::display::nonblocking module simulates ten levels of brightness for each LED by rapidly switching the LED on and off. The code to interact with the non-blocking interface is pretty simple and will follow a similar structure to the code we used to interact with the buttons. use core::cell::RefCell;\nuse cortex_m::interrupt::{free, Mutex};\nuse microbit::display::nonblocking::Display;\nuse microbit::gpio::DisplayPins;\nuse microbit::pac;\nuse microbit::pac::TIMER1; static DISPLAY: Mutex>>> = Mutex::new(RefCell::new(None)); pub(crate) fn init_display(board_timer: TIMER1, board_display: DisplayPins) { let display = Display::new(board_timer, board_display); free(move |cs| { *DISPLAY.borrow(cs).borrow_mut() = Some(display); }); unsafe { pac::NVIC::unmask(pac::Interrupt::TIMER1) }\n} First, we initialise a microbit::display::nonblocking::Display struct representing the LED display, passing it the board's TIMER1 and DisplayPins peripherals. Then we store the display in a Mutex. Finally, we unmask the TIMER1 interrupt. We then define a couple of convenience functions which allow us to easily set (or unset) the image to be displayed. use tiny_led_matrix::Render; // ... /// Display an image.\npub(crate) fn display_image(image: &impl Render) { free(|cs| { if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { display.show(image); } })\n} /// Clear the display (turn off all LEDs).\npub(crate) fn clear_display() { free(|cs| { if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { display.clear(); } })\n} display_image takes an image and tells the display to show it. Like the Display::show method that it calls, this function takes a struct that implements the tiny_led_matrix::Render trait. That trait ensures that the struct contains the data and methods necessary for the Display to render it on the LED matrix. The two implementations of Render provided by the microbit::display::nonblocking module are BitImage and GreyscaleImage. In a BitImage, each \"pixel\" (or LED) is either illuminated or not (like when we used the blocking interface), whereas in a GreyscaleImage each \"pixel\" can have a different brightness. clear_display does exactly as the name suggests. Finally, we use the interrupt macro to define a handler for the TIMER1 interrupt. This interrupt fires many times a second, and this is what allows the Display to rapidly cycle the different LEDs on and off to give the illusion of varying brightness levels. All our handler code does is call the Display::handle_display_event method, which handles this. use microbit::pac::interrupt; // ... #[interrupt]\nfn TIMER1() { free(|cs| { if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { display.handle_display_event(); } })\n} Now we just need to update our main function to call init_display and use the new functions we have defined to interact with our fancy new display. #![no_main]\n#![no_std] mod game;\nmod control;\nmod display; use cortex_m_rt::entry;\nuse microbit::{ Board, hal::{prelude::*, Rng, Timer}, display::nonblocking::{BitImage, GreyscaleImage}\n};\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; use crate::control::{get_turn, init_buttons};\nuse crate::display::{clear_display, display_image, init_display};\nuse crate::game::{Game, GameStatus}; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0).into_periodic(); let mut rng = Rng::new(board.RNG); let mut game = Game::new(rng.random_u32()); init_buttons(board.GPIOTE, board.buttons); init_display(board.TIMER1, board.display_pins); loop { loop { // Game loop let image = GreyscaleImage::new(&game.game_matrix(6, 3, 9)); display_image(&image); timer.delay_ms(game.step_len_ms()); match game.status { GameStatus::Ongoing => game.step(get_turn(true)), _ => { for _ in 0..3 { clear_display(); timer.delay_ms(200u32); display_image(&image); timer.delay_ms(200u32); } clear_display(); display_image(&BitImage::new(&game.score_matrix())); timer.delay_ms(2000u32); break } } } game.reset(); }\n}","breadcrumbs":"Snake game » Non-blocking display » Using the non-blocking display","id":"116","title":"Using the non-blocking display"},"117":{"body":"We have barely scratched the surface! There's lots of stuff left for you to explore. NOTE: If you're reading this, and you'd like to help add examples or exercises to the Discovery book for any of the items below, or any other relevant embedded topics, we'd love to have your help! Please open an issue if you would like to help, but need assistance or mentoring for how to contribute this to the book, or open a Pull Request adding the information!","breadcrumbs":"What's left for you to explore » What's left for you to explore","id":"117","title":"What's left for you to explore"},"118":{"body":"These topics discuss strategies for writing embedded software. Although many problems can be solved in different ways, these sections talk about some strategies, and when they make sense (or don't make sense) to use.","breadcrumbs":"What's left for you to explore » Topics about embedded software","id":"118","title":"Topics about embedded software"},"119":{"body":"Most of our programs executed a single task. How could we achieve multitasking in a system with no OS, and thus no threads? There are two main approaches to multitasking: preemptive multitasking and cooperative multitasking. In preemptive multitasking a task that's currently being executed can, at any point in time, be preempted (interrupted) by another task. On preemption, the first task will be suspended and the processor will instead execute the second task. At some point the first task will be resumed. Microcontrollers provide hardware support for preemption in the form of interrupts . We were introduced to interrupts when we built our snake game in chapter 11. In cooperative multitasking a task that's being executed will run until it reaches a suspension point . When the processor reaches that suspension point it will stop executing the current task and instead go and execute a different task. At some point the first task will be resumed. The main difference between these two approaches to multitasking is that in cooperative multitasking yields execution control at known suspension points instead of being forcefully preempted at any point of its execution.","breadcrumbs":"What's left for you to explore » Multitasking","id":"119","title":"Multitasking"},"12":{"body":"Or why should I prefer C over Rust? The C ecosystem is way more mature. Off the shelf solutions for several problems already exist. If you need to control a time sensitive process, you can grab one of the existing commercial Real Time Operating Systems (RTOS) out there and solve your problem. There are no commercial, production-grade RTOSes in Rust yet so you would have to either create one yourself or try one of the ones that are in development. You can find a list of those in the Awesome Embedded Rust repository.","breadcrumbs":"Background » Why should I not use Rust?","id":"12","title":"Why should I not use Rust?"},"120":{"body":"All our programs have been continuously polling peripherals to see if there's anything that needs to be done. However, sometimes there's nothing to be done! At those times, the microcontroller should \"sleep\". When the processor sleeps, it stops executing instructions and this saves power. It's almost always a good idea to save power so your microcontroller should be sleeping as much as possible. But, how does it know when it has to wake up to perform some action? \"Interrupts\" (see below for what exactly those are) are one of the events that wake up the microcontroller but there are others and the wfi and wfe are the instructions that make the processor \"sleep\".","breadcrumbs":"What's left for you to explore » Sleeping","id":"120","title":"Sleeping"},"121":{"body":"Microcontrollers (like our nRF52/nRF51) have many capabilities. However, many share similar capabilities that can be used to solve all sorts of different problems. These topics discuss some of those capabilities, and how they can be used effectively in embedded development.","breadcrumbs":"What's left for you to explore » Topics related to microcontroller capabilities","id":"121","title":"Topics related to microcontroller capabilities"},"122":{"body":"This peripheral is a kind of asynchronous memcpy. If you are working with a micro:bit v2 you have actually already used this, the HAL does this for you with the UARTE and TWIM peripherals. A DMA peripheral can be used to perform bulk transfers of data. Either from RAM to RAM, from a peripheral, like a UARTE, to RAM or from RAM to a peripheral. You can schedule a DMA transfer, like read 256 bytes from UARTE into this buffer, leave it running in the background and then poll some register to see if it has completed so you can do other stuff while the transfer is ongoing. For more information as to how this is implemented you can checkout the serial_setup module from the UART chapter. If that isn't enough yet you could even try and dive into the code of the nrf52-hal .","breadcrumbs":"What's left for you to explore » Direct Memory Access (DMA).","id":"122","title":"Direct Memory Access (DMA)."},"123":{"body":"In order to interact with the real world, it is often necessary for the microcontroller to respond immediately when some kind of event occurs. Microcontrollers have the ability to be interrupted, meaning when a certain event occurs, it will stop whatever it is doing at the moment, to instead respond to that event. This can be very useful when we want to stop a motor when a button is pressed, or measure a sensor when a timer finishes counting down. Although these interrupts can be very useful, they can also be a bit difficult to work with properly. We want to make sure that we respond to events quickly, but also allow other work to continue as well. In Rust, we model interrupts similar to the concept of threading on desktop Rust programs. This means we also must think about the Rust concepts of Send and Sync when sharing data between our main application, and code that executes as part of handling an interrupt event.","breadcrumbs":"What's left for you to explore » Interrupts","id":"123","title":"Interrupts"},"124":{"body":"In a nutshell, PWM is turning on something and then turning it off periodically while keeping some proportion (\"duty cycle\") between the \"on time\" and the \"off time\". When used on a LED with a sufficiently high frequency, this can be used to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, will make the LED much brighter (almost as if it were fully powered). In general, PWM can be used to control how much power is given to some electric device. With proper (power) electronics between a microcontroller and an electrical motor, PWM can be used to control how much power is given to the motor thus it can be used to control its torque and speed. Then you can add an angular position sensor and you got yourself a closed loop controller that can control the position of the motor at different loads. PWM is already abstracted within the embedded-hal Pwm trait and you will again find implementations of this in the nrf52-hal .","breadcrumbs":"What's left for you to explore » Pulse Width Modulation (PWM)","id":"124","title":"Pulse Width Modulation (PWM)"},"125":{"body":"We have used the microcontroller pins as digital outputs, to drive LEDs. When building our snake game, we also caught a glimpse of how these pins can be configured as digital inputs. As digital inputs, these pins can read the binary state of switches (on/off) or buttons (pressed/not pressed). Again digital inputs are abstracted within the embedded-hal InputPin trait and of course the nrf52-hal does have an implementation for them. ( spoilers reading the binary state of switches / buttons is not as straightforward as it sounds ;-) )","breadcrumbs":"What's left for you to explore » Digital inputs","id":"125","title":"Digital inputs"},"126":{"body":"There are a lot of digital sensors out there. You can use a protocol like I2C and SPI to read them. But analog sensors also exist! These sensors just output a voltage level that's proportional to the magnitude they are sensing. The ADC peripheral can be used to convert that \"analog\" voltage level, say 1.25 Volts, into a \"digital\" number, say in the [0, 65535] range, that the processor can use in its calculations. Again the embedded-hal adc module as well as the nrf52-hal got you covered.","breadcrumbs":"What's left for you to explore » Analog-to-Digital Converters (ADC)","id":"126","title":"Analog-to-Digital Converters (ADC)"},"127":{"body":"As you might expect a DAC is exactly the opposite of ADC. You can write some digital value into a register to produce a voltage in the [0, 3.3V] range (assuming a 3.3V power supply) on some \"analog\" pin. When this analog pin is connected to some appropriate electronics and the register is written to at some constant, fast rate (frequency) with the right values you can produce sounds or even music!","breadcrumbs":"What's left for you to explore » Digital-to-Analog Converters (DAC)","id":"127","title":"Digital-to-Analog Converters (DAC)"},"128":{"body":"This peripheral can be used to track time in \"human format\". Seconds, minutes, hours, days, months and years. This peripheral handles the translation from \"ticks\" to these human friendly units of time. It even handles leap years and Daylight Save Time for you!","breadcrumbs":"What's left for you to explore » Real Time Clock (RTC)","id":"128","title":"Real Time Clock (RTC)"},"129":{"body":"SPI, abstracted within the embedded-hal spi module and implemented by the nrf52-hal I2S, currently not abstracted within the embedded-hal but implemented by the nrf52-hal Ethernet, there does exist a small TCP/IP stack named smoltcp which is implemented for some chips but the ones on the micro:bit don't feature an Ethernet peripheral USB, there is some experimental work on this, for example with the usb-device crate Bluetooth, there does exist an incomplete BLE stack named rubble which does support nrf chips. SMBUS, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment. CAN, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment IrDA, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment Different applications use different communication protocols. User facing applications usually have a USB connector because USB is a ubiquitous protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN \"buses\". Some digital sensors use SPI, others use I2C and others, SMBUS. If you happen to be interested in developing abstractions in the embedded-hal or implementations of peripherals in general, don't be shy to open an issue in the HAL repositories. Alternatively you could also join the Rust Embedded matrix channel and get into contact with most of the people who built the stuff from above.","breadcrumbs":"What's left for you to explore » Other communication protocols","id":"129","title":"Other communication protocols"},"13":{"body":"The primary knowledge requirement to read this book is to know some Rust. It's hard for me to quantify some but at least I can tell you that you don't need to fully grok generics, but you do need to know how to use closures. You also need to be familiar with the idioms of the 2018 edition , in particular with the fact that extern crate is not necessary in the 2018 edition. Also, to follow this material you'll need the following hardware: A micro:bit v2 board, alternatively a micro:bit v1.5 board, the book will refer to the v1.5 as just v1. (You can purchase this board from several electronics suppliers ) NOTE This is an image of a micro:bit v2, the front of the v1 looks slightly different One micro-B USB cable, required to make the micro:bit board work. Make sure that the cable supports data transfer as some cables only support charging devices. NOTE You may already have a cable like this, as some micro:bit kits ship with such cables. Some USB cables used to charge mobile devices may also work, if they are micro-B and have the capability to transmit data. FAQ : Wait, why do I need this specific hardware? It makes my life and yours much easier. The material is much, much more approachable if we don't have to worry about hardware differences. Trust me on this one. FAQ : Can I follow this material with a different development board? Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or whether a high level crate already exists, like the nrf52-hal , for your development board somewhere. You can look through the Awesome Embedded Rust HAL list for your microcontroller, if you intend to use a different one. With a different development board, this text would lose most if not all its beginner friendliness and \"easy to follow\"-ness, IMO. If you have a different development board and you don't consider yourself a total beginner, you are better off starting with the quickstart project template.","breadcrumbs":"Hardware/knowledge requirements » Hardware/knowledge requirements","id":"13","title":"Hardware/knowledge requirements"},"130":{"body":"These topics cover items that are not specific to our device, or the hardware on it. Instead, they discuss useful techniques that could be used on embedded systems.","breadcrumbs":"What's left for you to explore » General Embedded-Relevant Topics","id":"130","title":"General Embedded-Relevant Topics"},"131":{"body":"As part of our Punch-o-meter exercise, we used the Accelerometer to measure changes in acceleration in three dimensions. But there are other motion sensors such as gyroscopes, which allows us to measure changes in \"spin\" in three dimensions. This can be very useful when trying to build certain systems, such as a robot that wants to avoid tipping over. Additionally, the data from a sensor like a gyroscope can also be combined with data from accelerometer using a technique called Sensor Fusion (see below for more information).","breadcrumbs":"What's left for you to explore » Gyroscopes","id":"131","title":"Gyroscopes"},"132":{"body":"While some motors are used primarily just to spin in one direction or the other, for example driving a remote control car forwards or backwards, it is sometimes useful to measure more precisely how a motor rotates. Our microcontroller can be used to drive Servo or Stepper motors, which allow for more precise control of how many turns are being made by the motor, or can even position the motor in one specific place, for example if we wanted to move the arms of a clock to a particular direction.","breadcrumbs":"What's left for you to explore » Servo and Stepper Motors","id":"132","title":"Servo and Stepper Motors"},"133":{"body":"The micro:bit contains two motion sensors: an accelerometer and a magnetometer. On their own these measure: (proper) acceleration and (the Earth's) magnetic field. But these magnitudes can be \"fused\" into something more useful: a \"robust\" measurement of the orientation of the board. Where robust means with less measurement error than a single sensor would be capable of. This idea of deriving more reliable data from different sources is known as sensor fusion. So where to next? There are several options: You could check out the examples in the microbit board support crate. All those examples work for the micro:bit board you have. You could join the Rust Embedded matrix channel , lots of people who contribute or work on embedded software hang out there. Including for example the people who wrote the microbit BSP, the nrf52-hal, embedded-hal etc. If you are looking for a general overview of what is available in Rust Embedded right now check out the Awesome Rust Embedded list You could check out Real-Time Interrupt-driven Concurrency . A very efficient preemptive multitasking framework that supports task prioritization and dead lock free execution. You could check out more abstractions of the embedded-hal project and maybe even try and write your own platform agnostic driver based on it. You could try running Rust on a different development board. The easiest way to get started is to use the cortex-m-quickstart Cargo project template. You could try out this motion sensors demo . Details about the implementation and source code are available in this blog post . You could check out this blog post which describes how Rust type system can prevent bugs in I/O configuration. You could check out japaric's blog for miscellaneous topics about embedded development with Rust. You could join the Weekly driver initiative and help us write generic drivers on top of the embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, etc.)","breadcrumbs":"What's left for you to explore » Sensor fusion","id":"133","title":"Sensor fusion"},"134":{"body":"","breadcrumbs":"General troubleshooting » General troubleshooting","id":"134","title":"General troubleshooting"},"135":{"body":"Most cargo-embed problems are either related to not having installed the udev rules properly (on Linux) or having selected the wrong chip configuration in Embed.toml so make sure you got both of those right. If the above does not work out for you, you can open an issue in the discovery issue tracker . Alternatively you can also visit the Rust Embedded matrix channel or the probe-rs matrix channel and ask for help there.","breadcrumbs":"General troubleshooting » cargo-embed problems","id":"135","title":"cargo-embed problems"},"136":{"body":"","breadcrumbs":"General troubleshooting » Cargo problems","id":"136","title":"Cargo problems"},"137":{"body":"Symptoms Compiling volatile-register v0.1.2 Compiling rlibc v1.0.0 Compiling r0 v0.1.0\nerror[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error Build failed, waiting for other jobs to finish...\nBuild failed, waiting for other jobs to finish...\nerror: Could not compile `r0`. To learn more, run the command again with --verbose. Cause You forgot to install the proper target for your microcontroller (thumbv7em-none-eabihf for v2 and thumbv6m-none-eabi for v1). Fix Install the proper target. # micro:bit v2\n$ rustup target add thumbv7em-none-eabihf # micro:bit v1\n$ rustup target add thumbv6m-none-eabi","breadcrumbs":"General troubleshooting » \"can't find crate for core\"","id":"137","title":"\"can't find crate for core\""},"138":{"body":"Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached GDB to a cargo-embed session.","breadcrumbs":"How to use GDB » How to use GDB","id":"138","title":"How to use GDB"},"139":{"body":"NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!","breadcrumbs":"How to use GDB » General Debugging","id":"139","title":"General Debugging"},"14":{"body":"Dealing with microcontrollers involves several tools as we'll be dealing with an architecture different from your computer's and we'll have to run and debug programs on a \"remote\" device.","breadcrumbs":"Setting up a development environment » Setting up a development environment","id":"14","title":"Setting up a development environment"},"140":{"body":"break $location: Set a breakpoint at a place in your code. The value of $location can include: break *main - Break on the exact address of the function main break *0x080012f2 - Break on the exact memory location 0x080012f2 break 123 - Break on line 123 of the currently displayed file break main.rs:123 - Break on line 123 of the file main.rs info break: Display current breakpoints delete: Delete all breakpoints delete $n: Delete breakpoint $n (n being a number. For example: delete $2) clear: Delete breakpoint at next instruction clear main.rs:$function: Delete breakpoint at entry of $function in main.rs clear main.rs:123: Delete breakpoint on line 123 of main.rs enable: Enable all set breakpoints enable $n: Enable breakpoint $n disable: Disable all set breakpoints disable $n: Disable breakpoint $n","breadcrumbs":"How to use GDB » Dealing with Breakpoints","id":"140","title":"Dealing with Breakpoints"},"141":{"body":"continue: Begin or continue execution of your program next: Execute the next line of your program next $n: Repeat next $n number times nexti: Same as next but with machine instructions instead step: Execute the next line, if the next line includes a call to another function, step into that code step $n: Repeat step $n number times stepi: Same as step but with machine instructions instead jump $location: Resume execution at specified location: jump 123: Resume execution at line 123 jump 0x080012f2: Resume execution at address 0x080012f2","breadcrumbs":"How to use GDB » Controlling Execution","id":"141","title":"Controlling Execution"},"142":{"body":"print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: x: hexadecimal\nd: signed decimal\nu: unsigned decimal\no: octal\nt: binary\na: address\nc: character\nf: floating point print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010) x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, $u unit size (bytes, halfwords, words, etc.), $f any print format defined above x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4 x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing disassemble $location disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction","breadcrumbs":"How to use GDB » Printing Information","id":"142","title":"Printing Information"},"143":{"body":"info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions info functions main: Print names and types of defined functions that contain the word main info address $symbol: Print where $symbol is stored in memory info address GPIOC: Print the memory address of the variable GPIOC info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables ptype $data: Print more detailed information about $data ptype cp: Print detailed type information about the variable cp","breadcrumbs":"How to use GDB » Looking at the Symbol Table","id":"143","title":"Looking at the Symbol Table"},"144":{"body":"backtrace $n: Print trace of $n frames, or omit $n to print all frames backtrace 2: Print trace of first 2 frames frame $n: Select frame with number or address $n, omit $n to display current frame up $n: Select frame $n frames up down $n: Select frame $n frames down info frame $address: Describe frame at $address, omit $address for currently selected frame info args: Print arguments of selected frame info registers $r: Print the value of register $r in selected frame, omit $r for all registers info registers $sp: Print the value of the stack pointer register $sp in the current frame","breadcrumbs":"How to use GDB » Poking around the Program Stack","id":"144","title":"Poking around the Program Stack"},"145":{"body":"monitor reset: Reset the CPU, starting execution over again","breadcrumbs":"How to use GDB » Controlling cargo-embed Remotely","id":"145","title":"Controlling cargo-embed Remotely"},"15":{"body":"Tooling is not everything though. Without documentation, it is pretty much impossible to work with microcontrollers. We'll be referring to all these documents throughout this book: LSM303AGR","breadcrumbs":"Setting up a development environment » Documentation","id":"15","title":"Documentation"},"16":{"body":"We'll use all the tools listed below. Where a minimum version is not specified, any recent version should work but we have listed the version we have tested. Rust 1.57.0 or a newer toolchain. gdb-multiarch. Tested version: 10.2. Other versions will most likely work as well though If your distribution/platform does not have gdb-multiarch available arm-none-eabi-gdb will do the trick as well. Furthermore, some normal gdb binaries are built with multiarch capabilities as well, you can find further information about this in the sub chapters. cargo-binutils . Version 0.3.3 or newer. cargo-embed . Version 0.18.0 or newer. minicom on Linux and macOS. Tested version: 2.7.1. Other versions will most likely work as well though PuTTY on Windows. Next, follow OS-agnostic installation instructions for a few of the tools:","breadcrumbs":"Setting up a development environment » Tools","id":"16","title":"Tools"},"17":{"body":"Install rustup by following the instructions at https://rustup.rs . If you already have rustup installed double check that you are on the stable channel and your stable toolchain is up-to-date. rustc -V should return a date newer than the one shown below: $ rustc -V\nrustc 1.53.0 (53cb7b09b 2021-06-17)","breadcrumbs":"Setting up a development environment » rustc & Cargo","id":"17","title":"rustc & Cargo"},"18":{"body":"$ rustup component add llvm-tools $ cargo install cargo-binutils --vers 0.3.3 $ cargo size --version\ncargo-size 0.3.3","breadcrumbs":"Setting up a development environment » cargo-binutils","id":"18","title":"cargo-binutils"},"19":{"body":"In order to install cargo-embed, first install its prerequisites (note: these instructions are part of the more general probe-rs embedded debugging toolkit). Then install it with cargo: $ cargo install cargo-embed --vers 0.18.0 $ cargo embed --version\ncargo-embed 0.18.0\ngit commit: crates.io","breadcrumbs":"Setting up a development environment » cargo-embed","id":"19","title":"cargo-embed"},"2":{"body":"Beginner friendly. No previous experience with microcontrollers or embedded systems is required. Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the work here. Tool centered. We'll make plenty use of tooling to ease development. \"Real\" debugging, with GDB, and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.","breadcrumbs":"Introduction » Approach","id":"2","title":"Approach"},"20":{"body":"Since this book also contains some small Rust code bases used in various chapters you will also have to download its source code. You can do this in one of the following ways: Visit the repository , click the green \"Code\" button and then the \"Download Zip\" one Clone it using git (if you know git you presumably already have it installed) from the same repository as linked in the zip approach","breadcrumbs":"Setting up a development environment » This repository","id":"20","title":"This repository"},"21":{"body":"Now follow the instructions specific to the OS you are using: Linux Windows macOS","breadcrumbs":"Setting up a development environment » OS specific instructions","id":"21","title":"OS specific instructions"},"22":{"body":"Here are the installation commands for a few Linux distributions.","breadcrumbs":"Setting up a development environment » Linux » Linux","id":"22","title":"Linux"},"23":{"body":"NOTE gdb-multiarch is the GDB command you'll use to debug your ARM Cortex-M programs $ sudo apt-get install \\ gdb-multiarch \\ minicom","breadcrumbs":"Setting up a development environment » Linux » Ubuntu 20.04 or newer / Debian 10 or newer","id":"23","title":"Ubuntu 20.04 or newer / Debian 10 or newer"},"24":{"body":"NOTE gdb is the GDB command you'll use to debug your ARM Cortex-M programs $ sudo dnf install \\ gdb \\ minicom","breadcrumbs":"Setting up a development environment » Linux » Fedora 32 or newer","id":"24","title":"Fedora 32 or newer"},"25":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs $ sudo pacman -S \\ arm-none-eabi-gdb \\ minicom","breadcrumbs":"Setting up a development environment » Linux » Arch Linux","id":"25","title":"Arch Linux"},"26":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs For distros that don't have packages for ARM's pre-built toolchain , download the \"Linux 64-bit\" file and put its bin directory on your path. Here's one way to do it: $ mkdir -p ~/local && cd ~/local\n$ tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 Then, use your editor of choice to append to your PATH in the appropriate shell init file (e.g. ~/.zshrc or ~/.bashrc): PATH=$PATH:$HOME/local/gcc-arm-none-eabi-9-2020-q2-update/bin","breadcrumbs":"Setting up a development environment » Linux » Other distros","id":"26","title":"Other distros"},"27":{"body":"These rules let you use USB devices like the micro:bit without root privilege, i.e. sudo. Create this file in /etc/udev/rules.d with the content shown below. $ cat /etc/udev/rules.d/99-microbit.rules # CMSIS-DAP for microbit\nSUBSYSTEM==\"usb\", ATTR{idVendor}==\"0d28\", ATTR{idProduct}==\"0204\", MODE:=\"666\" Then reload the udev rules with: $ sudo udevadm control --reload-rules If you had any board plugged to your computer, unplug them and then plug them in again. Now, go to the next section .","breadcrumbs":"Setting up a development environment » Linux » udev rules","id":"27","title":"udev rules"},"28":{"body":"","breadcrumbs":"Setting up a development environment » Windows » Windows","id":"28","title":"Windows"},"29":{"body":"ARM provides .exe installers for Windows. Grab one from here , and follow the instructions. Just before the installation process finishes tick/select the \"Add path to environment variable\" option. Then verify that the tools are in your %PATH%: $ arm-none-eabi-gcc -v\n(..)\ngcc version 5.4.1 20160919 (release) (..)","breadcrumbs":"Setting up a development environment » Windows » arm-none-eabi-gdb","id":"29","title":"arm-none-eabi-gdb"},"3":{"body":"What's out of scope for this book: Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers and embedded systems. Being a comprehensive text about electric circuit theory or electronics. We'll just cover the minimum required to understand how some devices work. Covering details such as linker scripts and the boot process. For example, we'll use existing tools to help get your code onto your board, but not go into detail about how those tools work. Also I don't intend to port this material to other development boards; this book will make exclusive use of the micro:bit development board.","breadcrumbs":"Introduction » Non-goals","id":"3","title":"Non-goals"},"30":{"body":"Download the latest putty.exe from this site and place it somewhere in your %PATH%. Now, go to the next section .","breadcrumbs":"Setting up a development environment » Windows » PuTTY","id":"30","title":"PuTTY"},"31":{"body":"All the tools can be installed using Homebrew : $ # ARM GCC debugger\n$ brew install arm-none-eabi-gdb $ # Minicom\n$ brew install minicom That's all! Go to the next section .","breadcrumbs":"Setting up a development environment » macOS » macOS","id":"31","title":"macOS"},"32":{"body":"Let's verify that all the tools were installed correctly.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify the installation","id":"32","title":"Verify the installation"},"33":{"body":"","breadcrumbs":"Setting up a development environment » Verify the installation » Linux only","id":"33","title":"Linux only"},"34":{"body":"Connect the micro:bit to your computer using a USB cable. The micro:bit should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got enumerated: $ lsusb | grep -i \"NXP ARM mbed\"\nBus 001 Device 065: ID 0d28:0204 NXP ARM mbed\n$ # ^^^ ^^^ In my case, the micro:bit got connected to the bus #1 and got enumerated as the device #65. This means the file /dev/bus/usb/001/065 is the micro:bit. Let's check its permissions: $ ls -l /dev/bus/usb/001/065\ncrw-rw-rw-. 1 root root 189, 64 Sep 5 14:27 /dev/bus/usb/001/065 The permissions should be crw-rw-rw-. If it's not ... then check your udev rules and try re-loading them with: $ sudo udevadm control --reload-rules","breadcrumbs":"Setting up a development environment » Verify the installation » Verify permissions","id":"34","title":"Verify permissions"},"35":{"body":"","breadcrumbs":"Setting up a development environment » Verify the installation » All","id":"35","title":"All"},"36":{"body":"First, connect the micro:bit to your Computer using a USB cable. At least an orange LED right next to the USB port of the micro:bit should light up. Furthermore, if you have never flashed another program on to your micro:bit, the default program the micro:bit ships with should start blinking the red LEDs on its back, you can ignore them. Next up you will have to modify Embed.toml in the src/03-setup directory of the book's source code. In the default.general section you will find two commented out chip variants: [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 If you are working with the micro:bit v2 board uncomment the first, for the v1 uncomment the second line. Next run one of these commands: $ # make sure you are in src/03-setup of the books source code\n$ # If you are working with micro:bit v2\n$ rustup target add thumbv7em-none-eabihf\n$ cargo embed --target thumbv7em-none-eabihf $ # If you are working with micro:bit v1\n$ rustup target add thumbv6m-none-eabi\n$ cargo embed --target thumbv6m-none-eabi If everything works correctly cargo-embed should first compile the small example program in this directory, then flash it and finally open a nice text based user interface that prints Hello World. (If it does not, check out general troubleshooting instructions.) This output is coming from the small Rust program you just flashed on to your micro:bit. Everything is working properly and you can continue with the next chapters!","breadcrumbs":"Setting up a development environment » Verify the installation » Verifying cargo-embed","id":"36","title":"Verifying cargo-embed"},"37":{"body":"All code in this book assumes that you use a simple terminal to build your code, run it, and interact with it. It also makes no assumption about your text editor. However, you may have your favourite IDEs, providing you auto-complete, type annotation, your preferred shortcuts and much more. This section explains how to get the most out of your IDE using the code obtained from this book's repo.","breadcrumbs":"Setting up a development environment » Setting up your IDE » Getting the most out of your IDE","id":"37","title":"Getting the most out of your IDE"},"38":{"body":"Some IDEs fail to understand the code, because they fail to determine whether a term is defined in the microbit or microbit-v2 codebase. If you fail to get auto-completion to work, you may want to try to edit the Cargo.toml files you encounter through this book, and remove all references to the version of microbit you are not using. That is: in the Cargo.toml file you must remove the dependency and features you do not use (the part guarded by #[cfg(feature = \"vI\")] and the guard itself)","breadcrumbs":"Setting up a development environment » Setting up your IDE » Auto-completion, type annotation, and more","id":"38","title":"Auto-completion, type annotation, and more"},"39":{"body":"Below, we explain how to configure your IDE to get the most out of this book. If your IDE is not listed below, please improve this book by adding a section, so that the next reader can get the best experience out of it.","breadcrumbs":"Setting up a development environment » Setting up your IDE » IDE configuration","id":"39","title":"IDE configuration"},"4":{"body":"The source of this book is in this repository . If you encounter any typo or problem with the code report it on the issue tracker .","breadcrumbs":"Introduction » Reporting problems","id":"4","title":"Reporting problems"},"40":{"body":"When editing the IntelliJ build configuration, here are a few non-default values: You should edit the command. When this book tells you to run cargo embed FLAGS, You'll need to replace the default value run by the command embed FLAGS, You should enable \"Emulate terminal in output console\". Otherwise, your program will fail to print text to a terminal You should ensure that the working directory is microbit/src/N-name, with N-name being the directory of the chapter you are reading. You can not run from the src directory since it contains no cargo file.","breadcrumbs":"Setting up a development environment » Setting up your IDE » How to build with IntelliJ","id":"40","title":"How to build with IntelliJ"},"41":{"body":"Let's get familiar with the hardware we'll be working with.","breadcrumbs":"Meet your hardware » Meet your hardware","id":"41","title":"Meet your hardware"},"42":{"body":"Here are some of the many components on the board: A microcontroller . A number of LEDs, most notably the LED matrix on the back Two user buttons as well as a reset button (the one next to the USB port). One USB port. A sensor that is both a magnetometer and an accelerometer Of these components, the most important is the microcontroller (sometimes shortened to \"MCU\" for \"microcontroller unit\"), which is the bigger of the two black squares sitting on the side of the board with the USB port. The MCU is what runs your code. You might sometimes read about \"programming a board\", when in reality what we are doing is programming the MCU that is installed on the board. If you happen to be interested in a more in detail description of the board you can checkout the micro:bit website . Since the MCU is so important, let's take a closer look at the one sitting on our board. Note that only one of the following two sections applies to your board, depending on whether you are working with a micro:bit v2 or v1.","breadcrumbs":"Meet your hardware » micro:bit","id":"42","title":"micro:bit"},"43":{"body":"Our MCU has 73 tiny metal pins sitting right underneath it (it's a so called aQFN73 chip). These pins are connected to traces , the little \"roads\" that act as the wires connecting components together on the board. The MCU can dynamically alter the electrical properties of the pins. This works similar to a light switch altering how electrical current flows through a circuit. By enabling or disabling electrical current to flow through a specific pin, an LED attached to that pin (via the traces) can be turned on and off. Each manufacturer uses a different part numbering scheme, but many will allow you to determine information about a component simply by looking at the part number. Looking at our MCU's part number (N52833 QIAAA0 2024AL, you probably cannot see it with your bare eye, but it is on the chip), the n at the front hints to us that this is a part manufactured by Nordic Semiconductor . Looking up the part number on their website we quickly find the product page . There we learn that our chip's main marketing point is that it is a \"Bluetooth Low Energy and 2.4 GHz SoC\" (SoC being short for \"System on a Chip\"), which explains the RF in the product name since RF is short for radio frequency. If we search through the documentation of the chip linked on the product page for a bit we find the product specification which contains chapter 10 \"Ordering Information\" dedicated to explaining the weird chip naming. Here we learn that: The N52 is the MCU's series, indicating that there are other nRF52 MCUs The 833 is the part code The QI is the package code, short for aQFN73 The AA is the variant code, indicating how much RAM and flash memory the MCU has, in our case 512 kilobyte flash and 128 kilobyte RAM The A0 is the build code, indicating the hardware version (A) as well as the product configuration (0) The 2024AL is a tracking code, hence it might differ on your chip The product specification does of course contain a lot more useful information about the chip, for example that it is based on an ARM® Cortex™-M4 32-bit processor.","breadcrumbs":"Meet your hardware » micro:bit v2 » Nordic nRF52833 (the \"nRF52\", micro:bit v2)","id":"43","title":"Nordic nRF52833 (the \"nRF52\", micro:bit v2)"},"44":{"body":"If our chip is manufactured by Nordic, then who is Arm? And if our chip is the nRF52833, what is the Cortex-M4? You might be surprised to hear that while \"Arm-based\" chips are quite popular, the company behind the \"Arm\" trademark ( Arm Holdings ) doesn't actually manufacture chips for purchase. Instead, their primary business model is to just design parts of chips. They will then license those designs to manufacturers, who will in turn implement the designs (perhaps with some of their own tweaks) in the form of physical hardware that can then be sold. Arm's strategy here is different from companies like Intel, which both designs and manufactures their chips. Arm licenses a bunch of different designs. Their \"Cortex-M\" family of designs are mainly used as the core in microcontrollers. For example, the Cortex-M4 (the core our chip is based on) is designed for low cost and low power usage. The Cortex-M7 is higher cost, but with more features and performance. Luckily, you don't need to know too much about different types of processors or Cortex designs for the sake of this book. However, you are hopefully now a bit more knowledgeable about the terminology of your device. While you are working specifically with an nRF52833, you might find yourself reading documentation and using tools for Cortex-M-based chips, as the nRF52833 is based on a Cortex-M design.","breadcrumbs":"Meet your hardware » micro:bit v2 » Arm? Cortex-M4?","id":"44","title":"Arm? Cortex-M4?"},"45":{"body":"Our MCU has 48 tiny metal pins sitting right underneath it (it's a so called QFN48 chip). These pins are connected to traces , the little \"roads\" that act as the wires connecting components together on the board. The MCU can dynamically alter the electrical properties of the pins. This works similar to a light switch altering how electrical current flows through a circuit. By enabling or disabling electrical current to flow through a specific pin, an LED attached to that pin (via the traces) can be turned on and off. Each manufacturer uses a different part numbering scheme, but many will allow you to determine information about a component simply by looking at the part number. Looking at our MCU's part number (N51822 QFAAH3 1951LN, you probably cannot see it with your bare eye, but it is on the chip), the n at the front hints to us that this is a part manufactured by Nordic Semiconductor . Looking up the part number on their website we quickly find the product page . There we learn that our chip's main marketing point is that it is a \"Bluetooth Low Energy and 2.4 GHz SoC\" (SoC being short for \"System on a Chip\"), which explains the RF in the product name since RF is short for radio frequency. If we search through the documentation of the chip linked on the product page for a bit we find the product specification which contains chapter 10 \"Ordering Information\" dedicated to explaining the weird chip naming. Here we learn that: The N51 is the MCU's series, indicating that there are other nRF51 MCUs The 822 is the part code The QF is the package code, in this case short for QFN48 The AA is the variant code, indicating how much RAM and flash memory the MCU has, in our case 256 kilobyte flash and 16 kilobyte RAM The H3 is the build code, indicating the hardware version (H) as well as the product configuration (3) The 1951LN is a tracking code, hence it might differ on your chip The product specification does of course contain a lot more useful information about the chip, for example that it is based on an ARM® Cortex™-M0 32-bit processor.","breadcrumbs":"Meet your hardware » micro:bit v1 » Nordic nRF51822 (the \"nRF51\", micro:bit v1)","id":"45","title":"Nordic nRF51822 (the \"nRF51\", micro:bit v1)"},"46":{"body":"If our chip is manufactured by Nordic, then who is Arm? And if our chip is the nRF51822, what is the Cortex-M0? You might be surprised to hear that while \"Arm-based\" chips are quite popular, the company behind the \"Arm\" trademark ( Arm Holdings ) doesn't actually manufacture chips for purchase. Instead, their primary business model is to just design parts of chips. They will then license those designs to manufacturers, who will in turn implement the designs (perhaps with some of their own tweaks) in the form of physical hardware that can then be sold. Arm's strategy here is different from companies like Intel, which both designs and manufactures their chips. Arm licenses a bunch of different designs. Their \"Cortex-M\" family of designs are mainly used as the core in microcontrollers. For example, the Cortex-M0 (the core our chip is based on) is designed for low cost and low power usage. The Cortex-M7 is higher cost, but with more features and performance. Luckily, you don't need to know too much about different types of processors or Cortex designs for the sake of this book. However, you are hopefully now a bit more knowledgeable about the terminology of your device. While you are working specifically with an nRF51822, you might find yourself reading documentation and using tools for Cortex-M-based chips, as the nRF51822 is based on a Cortex-M design.","breadcrumbs":"Meet your hardware » micro:bit v1 » Arm? Cortex-M0?","id":"46","title":"Arm? Cortex-M0?"},"47":{"body":"Before we dive into programming the micro:bit let's have a quick look at the libraries and terminology that will be important for all the future chapters.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Rust Embedded terminology","id":"47","title":"Rust Embedded terminology"},"48":{"body":"For any fully supported microcontroller/board with a microcontroller you will usually hear the following terms being used for their levels of abstraction:","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Abstraction layers","id":"48","title":"Abstraction layers"},"49":{"body":"The job of the PAC is to provide a safe (ish) direct interface to the peripherals of the chip, allowing you to configure every last bit however you want (of course also in wrong ways). Usually you only ever have to deal with the PAC if either the layers that are higher up don't fulfill your needs or when you are developing them. The PAC we are (implicitly) going to use is either the one for the nRF52 or for the nRF51 .","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Peripheral Access Crate (PAC)","id":"49","title":"Peripheral Access Crate (PAC)"},"5":{"body":"This Discovery book is just one of several embedded Rust resources provided by the Embedded Working Group . The full selection can be found at The Embedded Rust Bookshelf . This includes the list of Frequently Asked Questions .","breadcrumbs":"Introduction » Other embedded Rust resources","id":"5","title":"Other embedded Rust resources"},"50":{"body":"The job of the HAL is to build up on top of the chip's PAC and provide an abstraction that is actually usable for someone who does not know about all the special behaviour of this chip. Usually they abstract whole peripherals away into single structs that can for example be used to send data around via the peripheral. We are going to use the nRF52-hal or the nRF51-hal respectively.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » The Hardware Abstraction Layer (HAL)","id":"50","title":"The Hardware Abstraction Layer (HAL)"},"51":{"body":"The job of the BSP is to abstract a whole board (such as the micro:bit) away at once. That means it has to provide abstractions to use both the microcontroller as well as the sensors, LEDs etc. that might be present on the board. Quite often (especially with custom-made boards) you will just be working with a HAL for the chip and build the drivers for the sensors either yourself or search for them on crates.io. Luckily for us though, the micro:bit does actually have a BSP so we are going to use that on top of our HAL as well.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » The Board Support Crate (historically called Board Support Package, or BSP)","id":"51","title":"The Board Support Crate (historically called Board Support Package, or BSP)"},"52":{"body":"Next we are going to have a look at a very central piece of software in the Rust Embedded world: embedded-hal . As its name suggests it relates to the 2nd level of abstraction we got to know: the HALs. The idea behind embedded-hal is to provide a set of traits that describe behaviour which is usually shared across all implementations of a specific peripheral in all the HALs. For example one would always expect to have functions that are capable of turning the power on a pin either on or off. For example to switch an LED on and off on the board. This allows us to write a driver for, say a temperature sensor, that can be used on any chip for which an implementation of the embedded-hal traits exists, simply by writing the driver in such a way that it only relies on the embedded-hal traits. Drivers that are written in such a way are called platform agnostic and luckily for us most of the drivers on crates.io are actually platform agnostic.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Unifying the layers","id":"52","title":"Unifying the layers"},"53":{"body":"If you want to learn more about these levels of abstraction, Franz Skarman, a.k.a. TheZoq2 , held a talk about this topic during Oxidize 2020, called An Overview of the Embedded Rust Ecosystem .","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Further reading","id":"53","title":"Further reading"},"54":{"body":"Alright, let's start by building the following application: I'm going to give you a high level API to implement this app but don't worry we'll do low level stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging process. The starter code is in the src directory of the book repository. Inside that directory there are more directories named after each chapter of this book. Most of those directories are starter Cargo projects. Now, jump into the src/05-led-roulette directory. Check the src/main.rs file: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_halt as _;\nuse microbit as _; #[entry]\nfn main() -> ! { let _y; let x = 42; _y = x; // infinite loop; just so we don't leave this stack frame loop {}\n} Microcontroller programs are different from standard programs in two aspects: #![no_std] and #![no_main]. The no_std attribute says that this program won't use the std crate, which assumes an underlying OS; the program will instead use the core crate, a subset of std that can run on bare metal systems (i.e., systems without OS abstractions like files and sockets). The no_main attribute says that this program won't use the standard main interface, which is tailored for command line applications that receive arguments. Instead of the standard main we'll use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this program we have named the entry point \"main\", but any other name could have been used. The entry point function must have signature fn() -> !; this type indicates that the function can't return -- this means that the program never terminates. If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the linking process to tailor the memory layout of the program to the requirements of the target device. This modified linking process is a requirement of the cortex-m-rt crate. Furthermore, there is also an Embed.toml file [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 [default.reset]\nhalt_afterwards = true [default.rtt]\nenabled = false [default.gdb]\nenabled = true This file tells cargo-embed that: we are working with either a nrf52833 or nrf51822, you will again have to remove the comments from the chip you are using, just like you did in chapter 3. we want to halt the chip after we flashed it so our program does not instantly jump to the loop we want to disable RTT, RTT being a protocol that allows the chip to send text to a debugger. You have in fact already seen RTT in action, it was the protocol that sent \"Hello World\" in chapter 3. we want to enable GDB, this will be required for the debugging procedure Alright, let's start by building this program.","breadcrumbs":"LED roulette » LED roulette","id":"54","title":"LED roulette"},"55":{"body":"The first step is to build our \"binary\" crate. Because the microcontroller has a different architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the argument of that flag: the name of the target. As we already know the microcontroller on the micro:bit v2 has a Cortex-M4F processor in it, the one on v1 a Cortex-M0. rustc knows how to cross-compile to the Cortex-M architecture and provides several different targets that cover the different processors families within that architecture: thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors thumbv7m-none-eabi, for the Cortex-M3 processor thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors thumbv7em-none-eabihf, for the Cortex-M4 F and Cortex-M7 F processors thumbv8m.main-none-eabi, for the Cortex-M33 and Cortex-M35P processors thumbv8m.main-none-eabihf, for the Cortex-M33 F and Cortex-M35P F processors For the micro:bit v2, we'll use the thumbv7em-none-eabihf target, for v1 the thumbv6m-none-eabi one. Before cross-compiling you have to download a pre-compiled version of the standard library (a reduced version of it, actually) for your target. That's done using rustup: # For micro:bit v2\n$ rustup target add thumbv7em-none-eabihf\n# For micro:bit v1\n$ rustup target add thumbv6m-none-eabi You only need to do the above step once; rustup will re-install a new standard library (rust-std component) whenever you update your toolchain. Therefore you can skip this step, if you have already added the necessary target while verifying your setup . With the rust-std component in place you can now cross compile the program using Cargo: # make sure you are in the `src/05-led-roulette` directory # For micro:bit v2\n$ cargo build --features v2 --target thumbv7em-none-eabihf Compiling semver-parser v0.7.0 Compiling typenum v1.12.0 Compiling cortex-m v0.6.3 (...) Compiling microbit-v2 v0.10.1 Finished dev [unoptimized + debuginfo] target(s) in 33.67s # For micro:bit v1\n$ cargo build --features v1 --target thumbv6m-none-eabi Compiling fixed v1.2.0 Compiling syn v1.0.39 Compiling cortex-m v0.6.3 (...) Compiling microbit v0.10.1 Finished dev [unoptimized + debuginfo] target(s) in 22.73s NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml file and build command above will ensure optimizations are off. OK, now we have produced an executable. This executable won't blink any LEDs, it's just a simplified version that we will build upon later in the chapter. As a sanity check, let's verify that the produced executable is actually an ARM binary: # For micro:bit v2\n# equivalent to `readelf -h target/thumbv7em-none-eabihf/debug/led-roulette`\n$ cargo readobj --features v2 --target thumbv7em-none-eabihf --bin led-roulette -- --file-headers Finished dev [unoptimized + debuginfo] target(s) in 0.01s\nELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: ARM Version: 0x1 Entry point address: 0x117 Start of program headers: 52 (bytes into file) Start of section headers: 793112 (bytes into file) Flags: 0x5000400 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 4 Size of section headers: 40 (bytes) Number of section headers: 21 Section header string table index: 19 # For micro:bit v1\n# equivalent to `readelf -h target/thumbv6m-none-eabi/debug/led-roulette`\n$ cargo readobj --features v1 --target thumbv6m-none-eabi --bin led-roulette -- --file-headers Finished dev [unoptimized + debuginfo] target(s) in 0.01s\nELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: ARM Version: 0x1 Entry point address: 0xC1 Start of program headers: 52 (bytes into file) Start of section headers: 693196 (bytes into file) Flags: 0x5000200 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 4 Size of section headers: 40 (bytes) Number of section headers: 22 Section header string table index: 20 Next, we'll flash the program into our microcontroller.","breadcrumbs":"LED roulette » Build it » Build it","id":"55","title":"Build it"},"56":{"body":"Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once flashed, the microcontroller will execute the flashed program every time it is powered on. In this case, our led-roulette program will be the only program in the microcontroller memory. By this I mean that there's nothing else running on the microcontroller: no OS, no \"daemon\", nothing. led-roulette has full control over the device. Flashing the binary itself is quite simple thanks to cargo embed. Before executing that command though, let's look into what it actually does. If you look at the side of your micro:bit with the USB connector facing upwards you will notice, that there are actually 2 black squares on there (on the micro:bit v2 there is a third and biggest one, which is a speaker), one is our MCU we already talked about but what purpose does the other one serve? The other chip has 3 main purposes: Provide power from the USB connector to our MCU Provide a serial to USB bridge for our MCU (we will look into that in a later chapter) Being a programmer/debugger (this is the relevant purpose for now) Basically this chip acts as a bridge between our computer (to which it is connected via USB) and the MCU (to which it is connected via traces and communicates with using the SWD protocol). This bridge enables us to flash new binaries on to the MCU, inspect its state via a debugger and other things. So lets flash it! # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf (...) Erasing sectors ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 4.21KiB/s (eta 0s ) Programming pages ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 2.71KiB/s (eta 0s ) Finished flashing in 0.608s # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi (...) Erasing sectors ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 4.14KiB/s (eta 0s ) Programming pages ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 2.69KiB/s (eta 0s ) Finished flashing in 0.614s You will notice that cargo-embed blocks after outputting the last line, this is intended and you should not close it since we need it in this state for the next step: debugging it! Furthermore, you will have noticed that the cargo build and cargo embed are actually passed the same flags, this is because cargo embed actually executes the build and then flashes the resulting binary on to the chip, hence you can leave out the cargo build step in the future if you want to flash your code right away.","breadcrumbs":"LED roulette » Flash it » Flash it","id":"56","title":"Flash it"},"57":{"body":"","breadcrumbs":"LED roulette » Debug it » Debug it","id":"57","title":"Debug it"},"58":{"body":"Before we debug our little program let's take a moment to quickly understand what is actually happening here. In the previous chapter we already discussed the purpose of the second chip on the board as well as how it talks to our computer, but how can we actually use it? The little option default.gdb.enabled = true in Embed.toml made cargo-embed open a so-called \"GDB stub\" after flashing, this is a server that our GDB can connect to and send commands like \"set a breakpoint at address X\" to. The server can then decide on its own how to handle this command. In the case of the cargo-embed GDB stub it will forward the command to the debugging probe on the board via USB which then does the job of actually talking to the MCU for us.","breadcrumbs":"LED roulette » Debug it » How does this even work?","id":"58","title":"How does this even work?"},"59":{"body":"Since cargo-embed is blocking our current shell we can simply open a new one and cd back into our project directory. Once we are there we first have to open the binary in gdb like this: # For micro:bit v2\n$ gdb target/thumbv7em-none-eabihf/debug/led-roulette # For micro:bit v1\n$ gdb target/thumbv6m-none-eabi/debug/led-roulette NOTE : Depending on which GDB you installed you will have to use a different command to launch it, check out chapter 3 if you forgot which one it was. NOTE : If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory error, try adding ../../ to the file path, for example: $ gdb ../../target/thumbv7em-none-eabihf/debug/led-roulette This is caused by each example project being in a workspace that contains the entire book, and workspaces have a single target directory. Check out Workspaces chapter in Rust Book for more. NOTE : If cargo-embed prints a lot of warnings here don't worry about it. As of now it does not fully implement the GDB protocol and thus might not recognize all the commands your GDB is sending to it, as long as it does not crash, you are fine. Next we will have to connect to the GDB stub. It runs on localhost:1337 per default so in order to connect to it run the following: (gdb) target remote :1337\nRemote debugging using :1337\n0x00000116 in nrf52833_pac::{{impl}}::fmt (self=0xd472e165, f=0x3c195ff7) at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/nrf52833-pac-0.9.0/src/lib.rs:157\n157 #[derive(Copy, Clone, Debug)] Next what we want to do is get to the main function of our program. We will do this by first setting a breakpoint there and the continuing program execution until we hit the breakpoint: (gdb) break main\nBreakpoint 1 at 0x104: file src/05-led-roulette/src/main.rs, line 9.\nNote: automatically using hardware breakpoints for read-only addresses.\n(gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9\n9 #[entry] Breakpoints can be used to stop the normal flow of a program. The continue command will let the program run freely until it reaches a breakpoint. In this case, until it reaches the main function because there's a breakpoint there. Note that GDB output says \"Breakpoint 1\". Remember that our processor can only use a limited amount of these breakpoints, so it's a good idea to pay attention to these messages. If you happen to run out of breakpoints, you can list all the current ones with info break and delete desired ones with delete . For a nicer debugging experience, we'll be using GDB's Text User Interface (TUI). To enter into that mode, on the GDB shell enter the following command: (gdb) layout src NOTE : Apologies Windows users. The GDB shipped with the GNU ARM Embedded Toolchain doesn't support this TUI mode :-(. GDB session GDB's break command does not only work for function names, it can also break at certain line numbers. If we wanted to break in line 13 we can simply do: (gdb) break 13\nBreakpoint 2 at 0x110: file src/05-led-roulette/src/main.rs, line 13.\n(gdb) continue\nContinuing. Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:13\n(gdb) At any point you can leave the TUI mode using the following command: (gdb) tui disable We are now \"on\" the _y = x statement; that statement hasn't been executed yet. This means that x is initialized but _y is not. Let's inspect those stack/local variables using the print command: (gdb) print x\n$1 = 42\n(gdb) print &x\n$2 = (*mut i32) 0x20003fe8\n(gdb) As expected, x contains the value 42. The command print &x prints the address of the variable x. The interesting bit here is that GDB output shows the type of the reference: i32*, a pointer to an i32 value. If we want to continue the program execution line by line we can do that using the next command so let's proceed to the loop {} statement: (gdb) next\n16 loop {} And _y should now be initialized. (gdb) print _y\n$5 = 42 Instead of printing the local variables one by one, you can also use the info locals command: (gdb) info locals\nx = 42\n_y = 42\n(gdb) If we use next again on top of the loop {} statement, we'll get stuck because the program will never pass that statement. Instead, we'll switch to the disassemble view with the layout asm command and advance one instruction at a time using stepi. You can always switch back into Rust source code view later by issuing the layout src command again. NOTE : If you used the next or continue command by mistake and GDB got stuck, you can get unstuck by hitting Ctrl+C. (gdb) layout asm GDB session If you are not using the TUI mode, you can use the disassemble /m command to disassemble the program around the line you are currently at. (gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E:\n10 fn main() -> ! { 0x0000010a <+0>: sub sp, #8 0x0000010c <+2>: movs r0, #42 ; 0x2a 11 let _y;\n12 let x = 42; 0x0000010e <+4>: str r0, [sp, #0] 13 _y = x; 0x00000110 <+6>: str r0, [sp, #4] 14\n15 // infinite loop; just so we don't leave this stack frame\n16 loop {}\n=> 0x00000112 <+8>: b.n 0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10> 0x00000114 <+10>: b.n 0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10> End of assembler dump. See the fat arrow => on the left side? It shows the instruction the processor will execute next. If not inside the TUI mode on each stepi command GDB will print the statement and the line number of the instruction the processor will execute next. (gdb) stepi\n16 loop {}\n(gdb) stepi\n16 loop {} One last trick before we move to something more interesting. Enter the following commands into GDB: (gdb) monitor reset\n(gdb) c\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9\n9 #[entry]\n(gdb) We are now back at the beginning of main! monitor reset will reset the microcontroller and stop it right at the program entry point. The following continue command will let the program run freely until it reaches the main function that has a breakpoint on it. This combo is handy when you, by mistake, skipped over a part of the program that you were interested in inspecting. You can easily roll back the state of your program back to its very beginning. The fine print : This reset command doesn't clear or touch RAM. That memory will retain its values from the previous run. That shouldn't be a problem though, unless your program behavior depends on the value of uninitialized variables but that's the definition of Undefined Behavior (UB). We are done with this debug session. You can end it with the quit command. (gdb) quit\nA debugging session is active. Inferior 1 [Remote target] will be detached. Quit anyway? (y or n) y\nDetaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached] NOTE : If the default GDB CLI is not to your liking check out gdb-dashboard . It uses Python to turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view and other things. If you want to learn more about what GDB can do, check out the section How to use GDB . What's next? The high level API I promised.","breadcrumbs":"LED roulette » Debug it » Let's debug!","id":"59","title":"Let's debug!"},"6":{"body":"","breadcrumbs":"Background » Background","id":"6","title":"Background"},"60":{"body":"","breadcrumbs":"LED roulette » Light it up » Light it up","id":"60","title":"Light it up"},"61":{"body":"In this chapter we are going to make one of the many LEDs on the back of the micro:bit light up since this is basically the \"Hello World\" of embedded programming. In order to get this task done we will use one of the traits provided by embedded-hal, specifically the OutputPin trait which allows us to turn a pin on or off.","breadcrumbs":"LED roulette » Light it up » embedded-hal","id":"61","title":"embedded-hal"},"62":{"body":"On the back of the micro:bit you can see a 5x5 square of LEDs, usually called an LED matrix. This matrix alignment is used so that instead of having to use 25 separate pins to drive every single one of the LEDs, we can just use 10 (5+5) pins in order to control which column and which row of our matrix lights up. NOTE that the micro:bit v1 team implemented this a little differently. Their schematic page says that it is actually implemented as a 3x9 matrix but a few columns simply remain unused. Usually in order to determine which specific pins we have to control in order to light a specific LED up we would now have to read the micro:bit v2 schematic or the micro:bit v1 schematic respectively. Luckily for us though we can use the aforementioned micro:bit BSP which abstracts all of this nicely away from us.","breadcrumbs":"LED roulette » Light it up » The micro:bit LEDs","id":"62","title":"The micro:bit LEDs"},"63":{"body":"The code required to light up an LED in the matrix is actually quite simple but it requires a bit of setup. First take a look at it and then we can go through it step by step: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_halt as _;\nuse microbit::board::Board;\nuse microbit::hal::prelude::*; #[entry]\nfn main() -> ! { let mut board = Board::take().unwrap(); board.display_pins.col1.set_low().unwrap(); board.display_pins.row1.set_high().unwrap(); loop {}\n} The first few lines until the main function just do some basic imports and setup we already looked at before. However, the main function looks pretty different to what we have seen up to now. The first line is related to how most HALs written in Rust work internally. As discussed before they are built on top of PAC crates which own (in the Rust sense) all the peripherals of a chip. let mut board = Board::take().unwrap(); basically takes all these peripherals from the PAC and binds them to a variable. In this specific case we are not only working with a HAL but with an entire BSP, so this also takes ownership of the Rust representation of the other chips on the board. NOTE : If you are wondering why we have to call unwrap() here, in theory it is possible for take() to be called more than once. This would lead to the peripherals being represented by two separate variables and thus lots of possible confusing behaviour because two variables modify the same resource. In order to avoid this, PACs are implemented in a way that it would panic if you tried to take the peripherals twice. Now we can light the LED connected to row1, col1 up by setting the row1 pin to high (i.e. switching it on). The reason we can leave col1 set to low is because of how the LED matrix circuit works. Furthermore, embedded-hal is designed in a way that every operation on hardware can possibly return an error, even just toggling a pin on or off. Since that is highly unlikely in our case, we can just unwrap() the result.","breadcrumbs":"LED roulette » Light it up » Actually lighting it up!","id":"63","title":"Actually lighting it up!"},"64":{"body":"Testing our little program is quite simple. First put it into src/main.rs. Afterwards we simply have to run the cargo embed command from the last section again, let it flash and just like before. Then open our GDB and connect to the GDB stub: $ # Your GDB debug command from the last section\n(gdb) target remote :1337\nRemote debugging using :1337\ncortex_m_rt::Reset () at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.12/src/lib.rs:489\n489 pub unsafe extern \"C\" fn Reset() -> ! {\n(gdb) If we now let the program run via the GDB continue command, one of the LEDs on the back of the micro:bit should light up.","breadcrumbs":"LED roulette » Light it up » Testing it","id":"64","title":"Testing it"},"65":{"body":"","breadcrumbs":"LED roulette » It blinks » It blinks","id":"65","title":"It blinks"},"66":{"body":"Now we're going to take a brief look into delay abstractions provided by embedded-hal before combining this with the GPIO abstractions from the previous chapter in order to finally make an LED blink. embedded-hal provides us with two abstractions to delay the execution of our program: DelayUs and DelayMs . Both of them essentially work the exact same way except that they accept different units for their delay function. Inside our MCU, several so-called \"timers\" exist. They can do various things regarding time for us, including simply pausing the execution of our program for a fixed amount of time. A very simple delay-based program that prints something every second might for example look like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _;\nuse microbit::board::Board;\nuse microbit::hal::timer::Timer;\nuse microbit::hal::prelude::*; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); loop { timer.delay_ms(1000u16); rprintln!(\"1000 ms passed\"); }\n} Note that we changed our panic implementation from panic_halt to panic_rtt_target here. This will require you to uncomment the two RTT lines from Cargo.toml and comment the panic-halt one out, since Rust only allows one panic implementation at a time. In order to actually see the prints we have to change Embed.toml like this: [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 [default.reset]\nhalt_afterwards = false [default.rtt]\nenabled = true [default.gdb]\nenabled = false And now after putting the code into src/main.rs and another quick cargo embed (again with the same flags you used before) you should see \"1000 ms passed\" being sent to your console every second from your MCU.","breadcrumbs":"LED roulette » It blinks » Delaying","id":"66","title":"Delaying"},"67":{"body":"Now we've arrived at the point where we can combine our new knowledge about GPIO and delay abstractions in order to actually make an LED on the back of the micro:bit blink. The resulting program is really just a mash-up of the one above and the one that turned an LED on in the last section and looks like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _;\nuse microbit::board::Board;\nuse microbit::hal::timer::Timer;\nuse microbit::hal::prelude::*; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); board.display_pins.col1.set_low().unwrap(); let mut row1 = board.display_pins.row1; loop { row1.set_low().unwrap(); rprintln!(\"Dark!\"); timer.delay_ms(1_000_u16); row1.set_high().unwrap(); rprintln!(\"Light!\"); timer.delay_ms(1_000_u16); }\n} And after putting the code into src/main.rs and a final cargo embed (with the proper flags) you should see the LED we light up before blinking as well as a print, every time the LED changes from off to on and vice versa.","breadcrumbs":"LED roulette » It blinks » Blinking","id":"67","title":"Blinking"},"68":{"body":"You are now well armed to face a challenge! Your task will be to implement the application I showed you at the beginning of this chapter. If you can't exactly see what's happening here it is in a much slower version: Since working with the LED pins separately is quite annoying (especially if you have to use basically all of them like here) you can use the display API provided by the BSP. It works like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse microbit::{ board::Board, display::blocking::Display, hal::{prelude::*, Timer},\n}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let light_it_all = [ [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], ]; loop { // Show light_it_all for 1000ms display.show(&mut timer, light_it_all, 1000); // clear the display again display.clear(); timer.delay_ms(1000_u32); }\n} Equipped with this API your task basically boils down to just having to calculate the proper image matrix and passing it into the BSP.","breadcrumbs":"LED roulette » The challenge » The challenge","id":"68","title":"The challenge"},"69":{"body":"What solution did you come up with? Here's mine, it's probably one of the simplest (but of course not most beautiful) way to generate the required matrix: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse microbit::{ board::Board, display::blocking::Display, hal::Timer,\n}; const PIXELS: [(usize, usize); 16] = [ (0,0), (0,1), (0,2), (0,3), (0,4), (1,4), (2,4), (3,4), (4,4), (4,3), (4,2), (4,1), (4,0), (3,0), (2,0), (1,0)\n]; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut leds = [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], ]; let mut last_led = (0,0); loop { for current_led in PIXELS.iter() { leds[last_led.0][last_led.1] = 0; leds[current_led.0][current_led.1] = 1; display.show(&mut timer, leds, 30); last_led = *current_led; } }\n} One more thing! Check that your solution also works when compiled in \"release\" mode: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf --release (...) # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi --release (...) If you want to debug your \"release\" mode binary you'll have to use a different GDB command: # For micro:bit v2\n$ gdb target/thumbv7em-none-eabihf/release/led-roulette # For micro:bit v1\n$ gdb target/thumbv6m-none-eabi/release/led-roulette Binary size is something we should always keep an eye on! How big is your solution? You can check that using the size command on the release binary: # For micro:bit v2\n$ cargo size --features v2 --target thumbv7em-none-eabihf -- -A Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 256 0x0\n.text 26984 0x100\n.rodata 2732 0x6a68\n.data 0 0x20000000\n.bss 1092 0x20000000\n.uninit 0 0x20000444\n.debug_abbrev 33941 0x0\n.debug_info 494113 0x0\n.debug_aranges 23528 0x0\n.debug_ranges 130824 0x0\n.debug_str 498781 0x0\n.debug_pubnames 143351 0x0\n.debug_pubtypes 124464 0x0\n.ARM.attributes 58 0x0\n.debug_frame 69128 0x0\n.debug_line 290580 0x0\n.debug_loc 1449 0x0\n.comment 109 0x0\nTotal 1841390 $ cargo size --features v2 --target thumbv7em-none-eabihf --release -- -A Finished release [optimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 256 0x0\n.text 6332 0x100\n.rodata 648 0x19bc\n.data 0 0x20000000\n.bss 1076 0x20000000\n.uninit 0 0x20000434\n.debug_loc 9036 0x0\n.debug_abbrev 2754 0x0\n.debug_info 96460 0x0\n.debug_aranges 1120 0x0\n.debug_ranges 11520 0x0\n.debug_str 71325 0x0\n.debug_pubnames 32316 0x0\n.debug_pubtypes 29294 0x0\n.ARM.attributes 58 0x0\n.debug_frame 2108 0x0\n.debug_line 19303 0x0\n.comment 109 0x0\nTotal 283715 # micro:bit v1\n$ cargo size --features v1 --target thumbv6m-none-eabi -- -A Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 168 0x0\n.text 28584 0xa8\n.rodata 2948 0x7050\n.data 0 0x20000000\n.bss 1092 0x20000000\n.uninit 0 0x20000444\n.debug_abbrev 30020 0x0\n.debug_info 373392 0x0\n.debug_aranges 18344 0x0\n.debug_ranges 89656 0x0\n.debug_str 375887 0x0\n.debug_pubnames 115633 0x0\n.debug_pubtypes 86658 0x0\n.ARM.attributes 50 0x0\n.debug_frame 54144 0x0\n.debug_line 237714 0x0\n.debug_loc 1499 0x0\n.comment 109 0x0\nTotal 1415898 $ cargo size --features v1 --target thumbv6m-none-eabi --release -- -A Finished release [optimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 168 0x0\n.text 4848 0xa8\n.rodata 648 0x1398\n.data 0 0x20000000\n.bss 1076 0x20000000\n.uninit 0 0x20000434\n.debug_loc 9705 0x0\n.debug_abbrev 3235 0x0\n.debug_info 61908 0x0\n.debug_aranges 1208 0x0\n.debug_ranges 5784 0x0\n.debug_str 57358 0x0\n.debug_pubnames 22959 0x0\n.debug_pubtypes 18891 0x0\n.ARM.attributes 50 0x0\n.debug_frame 2316 0x0\n.debug_line 18444 0x0\n.comment 19 0x0\nTotal 208617 NOTE The Cargo project is already configured to build the release binary using LTO. Know how to read this output? The text section contains the program instructions. On the other hand, the data and bss sections contain variables statically allocated in RAM (static variables). If you remember back in the specification of the microcontroller on your micro:bit, you should notice that its flash memory is actually far too small to contain this binary, so how is this possible? As we can see from the size statistics most of the binary is actually made up of debugging related sections, those are however not flashed to the microcontroller at any time, after all they aren't relevant for the execution.","breadcrumbs":"LED roulette » My solution » My solution","id":"69","title":"My solution"},"7":{"body":"A microcontroller is a system on a chip. Whereas your computer is made up of several discrete components: a processor, RAM, storage, an Ethernet port, etc.; a microcontroller has all those types of components built into a single \"chip\" or package. This makes it possible to build systems with fewer parts.","breadcrumbs":"Background » What's a microcontroller?","id":"7","title":"What's a microcontroller?"},"70":{"body":"This is what we'll be using. I hope your computer has one! Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but with the communication protocol that this cable is/was usually used for. So what's this serial communication ? It's an asynchronous communication protocol where two devices exchange data serially , as in one bit at a time, using two data lines (plus a common ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock signal. Instead, both parties must agree on how fast data will be sent along the wire before the communication occurs. This protocol allows duplex communication as data can be sent from A to B and from B to A simultaneously. We'll be using this protocol to exchange data between the microcontroller and your computer. Now you might be asking yourself why exactly we aren't using RTT for this like we did before. RTT is a protocol that is meant to be used solely for debugging. You will most definitely not be able to find a device that actually uses RTT to communicate with some other device in production. However, serial communication is used quite often. For example some GPS receivers send the positioning information they receive via serial communication. The next practical question you probably want to ask is: How fast can we send data through this protocol? This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 to 2 stop bits . The speed of the protocol is known as baud rate and it's quoted in bits per second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps. To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data rate will probably be lower because of processing times on the slower side of the communication (the microcontroller). Today's computers don't support the serial communication protocol. So you can't directly connect your computer to the microcontroller. Luckily for us though, the debug probe on the micro:bit has a so-called USB-to-serial converter. This means that the converter will sit between the two and expose a serial interface to the microcontroller and a USB interface to your computer. The microcontroller will see your computer as another serial device and your computer will see the microcontroller as a virtual serial device. Now, let's get familiar with the serial module and the serial communication tools that your OS offers. Pick a route: *nix Windows","breadcrumbs":"Serial communication » Serial communication","id":"70","title":"Serial communication"},"71":{"body":"","breadcrumbs":"Serial communication » *nix tooling » *nix tooling","id":"71","title":"*nix tooling"},"72":{"body":"If you connect the micro:bit board to your computer you should see a new TTY device appear in /dev. $ # Linux\n$ dmesg | tail | grep -i tty\n[63712.446286] cdc_acm 1-1.7:1.1: ttyACM0: USB ACM device This is the USB <-> Serial device. On Linux, it's named tty* (usually ttyACM* or ttyUSB*). On Mac OS ls /dev/cu.usbmodem* will show the serial device. But what exactly is ttyACM0? It's a file of course! Everything is a file in *nix: $ ls -l /dev/ttyACM0\ncrw-rw----. 1 root plugdev 166, 0 Jan 21 11:56 /dev/ttyACM0 You can send out data by simply writing to this file: $ echo 'Hello, world!' > /dev/ttyACM0 You should see the orange LED on the micro:bit, right next to the USB port, blink for a moment, whenever you enter this command.","breadcrumbs":"Serial communication » *nix tooling » Connecting the micro:bit board","id":"72","title":"Connecting the micro:bit board"},"73":{"body":"We'll use the program minicom to interact with the serial device using the keyboard. We must configure minicom before we use it. There are quite a few ways to do that but we'll use a .minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following contents: $ cat ~/.minirc.dfl\npu baudrate 115200\npu bits 8\npu parity N\npu stopbits 1\npu rtscts No\npu xonxoff No NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it. That file should be straightforward to read (except for the last two lines), but nonetheless let's go over it line by line: pu baudrate 115200. Sets baud rate to 115200 bps. pu bits 8. 8 bits per frame. pu parity N. No parity check. pu stopbits 1. 1 stop bit. pu rtscts No. No hardware control flow. pu xonxoff No. No software control flow. Once that's in place, we can launch minicom. $ # NOTE you may need to use a different device here\n$ minicom -D /dev/ttyACM0 -b 115200 This tells minicom to open the serial device at /dev/ttyACM0 and set its baud rate to 115200. A text-based user interface (TUI) will pop out. You can now send data using the keyboard! Go ahead and type something. Note that the text UI will not echo back what you type. If you pay attention to the yellow LED on top of the micro:bit though, you will notice that it blinks whenever you type something.","breadcrumbs":"Serial communication » *nix tooling » minicom","id":"73","title":"minicom"},"74":{"body":"minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On Mac, the shortcuts start with the Meta key. Some useful commands below: Ctrl+A + Z. Minicom Command Summary Ctrl+A + C. Clear the screen Ctrl+A + X. Exit and reset Ctrl+A + Q. Quit with no reset NOTE Mac users: In the above commands, replace Ctrl+A with Meta.","breadcrumbs":"Serial communication » *nix tooling » minicom commands","id":"74","title":"minicom commands"},"75":{"body":"Start by unplugging your micro:bit. Before plugging the micro:bit, run the following command on the terminal: $ mode It will print a list of devices that are connected to your computer. The ones that start with COM in their names are serial devices. This is the kind of device we'll be working with. Take note of all the COM ports mode outputs before plugging the serial module. Now, plug in the micro:bit and run the mode command again. If you see a new COM port appear on the list, then that's the COM port assigned to the serial functionality on the micro:bit. Now launch putty. A GUI will pop out. On the starter screen, which should have the \"Session\" category open, pick \"Serial\" as the \"Connection type\". On the \"Serial line\" field enter the COM device you got on the previous step, for example COM3. Next, pick the \"Connection/Serial\" category from the menu on the left. On this new view, make sure that the serial port is configured as follows: \"Speed (baud)\": 115200 \"Data bits\": 8 \"Stop bits\": 1 \"Parity\": None \"Flow control\": None Finally, click the Open button. A console will show up now: If you type on this console, the yellow LED on top of the micro:bit will blink. Each keystroke should make the LED blink once. Note that the console won't echo back what you type so the screen will remain blank.","breadcrumbs":"Serial communication » Windows tooling » Windows tooling","id":"75","title":"Windows tooling"},"76":{"body":"The microcontroller has a peripheral called UART, which stands for Universal Asynchronous Receiver/Transmitter. This peripheral can be configured to work with several communication protocols like the serial communication protocol. Throughout this chapter, we'll use serial communication to exchange information between the microcontroller and your computer. NOTE that on the micro:bit v2 we will use the so called UARTE peripheral which behaves just like a regular UART, except that the HAL has to talk to it differently. However, this will of course not be our concern.","breadcrumbs":"UART » UART","id":"76","title":"UART"},"77":{"body":"As always from now on you will have to modify the Embed.toml to match your micro:bit version: [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 [default.reset]\nhalt_afterwards = false [default.rtt]\nenabled = true [default.gdb]\nenabled = false","breadcrumbs":"UART » Setup","id":"77","title":"Setup"},"78":{"body":"Our first task will be to send a single byte from the microcontroller to the computer over the serial connection. In order to do that we will use the following snippet (this one is already in 07-uart/src/main.rs): #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; nb::block!(serial.write(b'X')).unwrap(); nb::block!(serial.flush()).unwrap(); loop {}\n} The most prevalent new thing here is obviously the cfg directives to conditionally include/exclude parts of the code. This is mostly just because we want to work with a regular UART for the micro:bit v1 and with the UARTE for micro:bit v2. You will also have noticed that this is the first time we are including some code that is not from a library, namely the serial_setup module. Its only purpose is to provide a nice wrapper around the UARTE so we can use it the exact same way as the UART via the embedded_hal::serial traits. If you want, you can check out what exactly the module does, but it is not required to understand this chapter in general. Apart from those differences, the initialization procedures for the UART and the UARTE are quite similar so we'll discuss the initialization of just UARTE. The UARTE is initialized with this piece of code: uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200,\n); This function takes ownership of the UARTE peripheral representation in Rust (board.UARTE0) and the TX/RX pins on the board (board.uart.into()) so nobody else can mess with either the UARTE peripheral or our pins while we are using them. After that we pass two configuration options to the constructor: the baudrate (that one should be familiar) as well as an option called \"parity\". Parity is a way to allow serial communication lines to check whether the data they received was corrupted during transmission. We don't want to use that here so we simply exclude it. Then we wrap it up in the UartePort type so we can use it the same way as the micro:bit v1's serial. After the initialization, we send our X via the newly created uart instance. The block! macro here is the nb::block! macro. nb is a (quoting from its description) \"Minimal and reusable non-blocking I/O layer\". It allows us to write code that can conduct hardware operations in the background while we go and do other work (non-blocking). However, in this and many other cases we have no interest in doing some other work so we just call block! which will wait until the I/O operation is done and has either succeeded or failed and then continue execution normally. Last but not least, we flush() the serial port. This is because an implementor of the embedded-hal::serial traits may decide to buffer output until it has received a certain number of bytes to send (this is the case with the UARTE implementation). Calling flush() forces it to write the bytes it currently has right now instead of waiting for more.","breadcrumbs":"UART » Send a single byte » Send a single byte","id":"78","title":"Send a single byte"},"79":{"body":"Before flashing this you should make sure to start your minicom/PuTTY as the data we receive via our serial communication is not backed up or anything, we have to view it live. Once your serial monitor is up you can flash the program just like in chapter 5: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf (...) # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi And after the flashing is finished, you should see the character X show up on your minicom/PuTTY terminal, congrats!","breadcrumbs":"UART » Send a single byte » Testing it","id":"79","title":"Testing it"},"8":{"body":"Lots of things! Microcontrollers are the central part of what are known as \" embedded systems\". Embedded systems are everywhere, but you don't usually notice them. They control the machines that wash your clothes, print your documents, and cook your food. Embedded systems keep the buildings that you live and work in at a comfortable temperature, and control the components that make the vehicles you travel in stop and go. Most embedded systems operate without user intervention. Even if they expose a user interface like a washing machine does; most of their operation is done on their own. Embedded systems are often used to control a physical process. To make this possible, they have one or more devices to tell them about the state of the world (\"sensors\"), and one or more devices which allow them to change things (\"actuators\"). For example, a building climate control system might have: Sensors which measure temperature and humidity in various locations. Actuators which control the speed of fans. Actuators which cause heat to be added or removed from the building.","breadcrumbs":"Background » What can you do with a microcontroller?","id":"8","title":"What can you do with a microcontroller?"},"80":{"body":"The next task will be to send a whole string from the microcontroller to your computer. I want you to send the string \"The quick brown fox jumps over the lazy dog.\" from the microcontroller to your computer. It's your turn to write the program.","breadcrumbs":"UART » Send a string » Send a string","id":"80","title":"Send a string"},"81":{"body":"","breadcrumbs":"UART » Naive approach and write! » Naive approach and write!","id":"81","title":"Naive approach and write!"},"82":{"body":"You probably came up with a program similar to the following: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; for byte in b\"The quick brown fox jumps over the lazy dog.\\r\\n\".iter() { nb::block!(serial.write(*byte)).unwrap(); } nb::block!(serial.flush()).unwrap(); loop {}\n} While this is a perfectly valid implementation, at some point you might want to have all the nice perks of print! such as argument formatting and so on. If you are wondering how to do that, read on.","breadcrumbs":"UART » Naive approach and write! » Naive approach","id":"82","title":"Naive approach"},"83":{"body":"The core::fmt::Write trait allows us to use any struct that implements it in basically the same way as we use print! in the std world. In this case, the Uart struct from the nrf HAL does implement core::fmt::Write so we can refactor our previous program into this: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse core::fmt::Write; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; write!(serial, \"The quick brown fox jumps over the lazy dog.\\r\\n\").unwrap(); nb::block!(serial.flush()).unwrap(); loop {}\n} If you were to flash this program onto your micro:bit, you'll see that it is functionally equivalent to the iterator-based program you came up with.","breadcrumbs":"UART » Naive approach and write! » write! and core::fmt::Write","id":"83","title":"write! and core::fmt::Write"},"84":{"body":"So far we can send data from the microcontroller to your computer. It's time to try the opposite: receiving data from your computer. Luckily embedded-hal has again got us covered with this one: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; loop { let byte = nb::block!(serial.read()).unwrap(); rprintln!(\"{}\", byte); }\n} The only part that changed, compared to our send byte program, is the loop at the end of main(). Here we use the read() function, provided by embedded-hal, in order to wait until a byte is available and read it. Then we print that byte into our RTT debugging console to see whether stuff is actually arriving. Note that if you flash this program and start typing characters inside minicom to send them to your microcontroller you'll only be able to see numbers inside your RTT console since we are not converting the u8 we received into an actual char. Since the conversion from u8 to char is quite simple, I'll leave this task to you if you really do want to see the characters inside the RTT console.","breadcrumbs":"UART » Receive a single byte » Receive a single byte","id":"84","title":"Receive a single byte"},"85":{"body":"Let's merge transmission and reception into a single program and write an echo server. An echo server sends back to the client the same text it receives. For this application, the microcontroller will be the server and you and your computer will be the client. This should be straightforward to implement. (hint: do it byte by byte)","breadcrumbs":"UART » Echo server » Echo server","id":"85","title":"Echo server"},"86":{"body":"Alright, next let's make the server more interesting by having it respond to the client with the reverse of the text that they sent. The server will respond to the client every time they press the ENTER key. Each server response will be in a new line. This time you'll need a buffer; you can use heapless::Vec . Here's the starter code: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse core::fmt::Write;\nuse heapless::Vec;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); // TODO Receive a user request. Each user request ends with ENTER // NOTE `buffer.push` returns a `Result`. Handle the error by responding // with an error message. // TODO Send back the reversed string }\n}","breadcrumbs":"UART » Reverse a string » Reverse a string","id":"86","title":"Reverse a string"},"87":{"body":"#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse core::fmt::Write;\nuse heapless::Vec;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); loop { // We assume that the receiving cannot fail let byte = nb::block!(serial.read()).unwrap(); if buffer.push(byte).is_err() { write!(serial, \"error: buffer full\\r\\n\").unwrap(); break; } if byte == 13 { for byte in buffer.iter().rev().chain(&[b'\\n', b'\\r']) { nb::block!(serial.write(*byte)).unwrap(); } break; } } nb::block!(serial.flush()).unwrap() }\n}","breadcrumbs":"UART » My solution » My solution","id":"87","title":"My solution"},"88":{"body":"We just saw the serial communication protocol. It's a widely used protocol because it's very simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and USB. However, its simplicity is also a downside. More elaborated data exchanges, like reading a digital sensor, would require the sensor vendor to come up with another protocol on top of it. (Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some of them are widely used in digital sensors. The micro:bit board we are using has two motion sensors in it: an accelerometer and a magnetometer. Both of these sensors are packaged into a single component and can be accessed via an I2C bus. I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is used to synchronize the communication, this is a synchronous protocol. This protocol uses a controller target model where the controller is the device that starts and drives the communication with a target device. Several devices, both controllers and targets, can be connected to the same bus at the same time. A controller device can communicate with a specific target device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. Once a controller has started a communication with a target, no other device can make use of the bus until the controller stops the communication. The clock line determines how fast data can be exchanged and it usually operates at a frequency of 100 kHz (standard mode) or 400 kHz (fast mode).","breadcrumbs":"I2C » I2C","id":"88","title":"I2C"},"89":{"body":"The I2C protocol is more elaborate than the serial communication protocol because it has to support communication between several devices. Let's see how it works using examples:","breadcrumbs":"I2C » The general protocol » General protocol","id":"89","title":"General protocol"},"9":{"body":"Many of the embedded systems listed above could be implemented with a computer running Linux (for example a \"Raspberry Pi\"). Why use a microcontroller instead? Sounds like it might be harder to develop a program. Some reasons might include: Cost. A microcontroller is much cheaper than a general purpose computer. Not only is the microcontroller cheaper; it also requires many fewer external electrical components to operate. This makes Printed Circuit Boards (PCB) smaller and cheaper to design and manufacture. Power consumption. Most microcontrollers consume a fraction of the power of a full blown processor. For applications which run on batteries, that makes a huge difference. Responsiveness. To accomplish their purpose, some embedded systems must always react within a limited time interval (e.g. the \"anti-lock\" braking system of a car). If the system misses this type of deadline , a catastrophic failure might occur. Such a deadline is called a \"hard real time\" requirement. An embedded system which is bound by such a deadline is referred to as a \"hard real-time system\". A general purpose computer and OS usually has many software components which share the computer's processing resources. This makes it harder to guarantee execution of a program within tight time constraints. Reliability. In systems with fewer components (both hardware and software), there is less to go wrong!","breadcrumbs":"Background » When should I use a microcontroller?","id":"9","title":"When should I use a microcontroller?"},"90":{"body":"If the Controller wants to send data to the Target: Controller: Broadcast START C: Broadcast target address (7 bits) + the R/W (8th) bit set to WRITE Target: Responds ACK (ACKnowledgement) C: Send one byte T: Responds ACK Repeat steps 4 and 5 zero or more times C: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Controller -> Target","id":"90","title":"Controller -> Target"},"91":{"body":"If the controller wants to read data from the target: C: Broadcast START C: Broadcast target address (7 bits) + the R/W (8th) bit set to READ T: Responds with ACK T: Send byte C: Responds with ACK Repeat steps 4 and 5 zero or more times C: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Controller <- Target","id":"91","title":"Controller <- Target"},"92":{"body":"Both of the motion sensors on the micro:bit, the magnetometer and the accelerometer, are packaged in a single component: the LSM303AGR integrated circuit. These two sensors can be accessed via an I2C bus. Each sensor behaves like an I2C target and has a different address. Each sensor has its own memory where it stores the results of sensing its environment. Our interaction with these sensors will mainly involve reading their memory. The memory of these sensors is modeled as byte addressable registers. These sensors can be configured too; that's done by writing to their registers. So, in a sense, these sensors are very similar to the peripherals inside the microcontroller. The difference is that their registers are not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the I2C bus. The main source of information about the LSM303AGR is its Data Sheet . Read through it to see how one can read the sensors' registers. That part is in: Section 6.1.1 I2C Operation - Page 38 - LSM303AGR Data Sheet The other part of the documentation relevant to this book is the description of the registers. That part is in: Section 8 Register description - Page 46 - LSM303AGR Data Sheet","breadcrumbs":"I2C » LSM303AGR » LSM303AGR","id":"92","title":"LSM303AGR"},"93":{"body":"Let's put all that theory into practice! First things first we need to know the target addresses of both the accelerometer and the magnetometer inside the chip, these can be found in the LSM303AGR's datasheet on page 39 and are: 0011001 for the accelerometer 0011110 for the magnetometer NOTE Remember that these are only the 7 leading bits of the address, the 8th bit is going to be the bit that determines whether we are performing a read or write. Next up we'll need a register to read from. Lots of I2C chips out there will provide some sort of device identification register for their controllers to read. This is done since considering the thousands (or even millions) of I2C chips out there it is highly likely that at some point two chips with the same address will end up being built (after all the address is \"only\" 7 bit wide). With this device ID register a driver could then make sure that it is indeed talking to a LSM303AGR and not some other chip that just happens to have the same address. As you can read in the LSM303AGR's datasheet (specifically on page 46 and 61) it does provide two registers called WHO_AM_I_A at address 0x0f and WHO_AM_I_M at address 0x4f which contain some bit patterns that are unique to the device (The A is as in accelerometer and the M is as in magnetometer). The only thing missing now is the software part, i.e. which API of the microbit/the HAL crates we should use for this. However, if you read through the datasheet of the nRF chip you are using you will soon find out that they don't actually have an I2C peripheral. Luckily for us though, they have I2C-compatible ones called TWI (Two Wire Interface) and TWIM (depending on which chip you use, just like UART and UARTE). Now if we put the documentation of the twi(m) module from the microbit crate together with all the other information we have gathered so far we'll end up with this piece of code to read out and print the two device IDs: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; use microbit::hal::prelude::*; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A,\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A,\n}; const ACCELEROMETER_ADDR: u8 = 0b0011001;\nconst MAGNETOMETER_ADDR: u8 = 0b0011110; const ACCELEROMETER_ID_REG: u8 = 0x0f;\nconst MAGNETOMETER_ID_REG: u8 = 0x4f; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let mut i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut acc = [0]; let mut mag = [0]; // First write the address + register onto the bus, then read the chip's responses i2c.write_read(ACCELEROMETER_ADDR, &[ACCELEROMETER_ID_REG], &mut acc).unwrap(); i2c.write_read(MAGNETOMETER_ADDR, &[MAGNETOMETER_ID_REG], &mut mag).unwrap(); rprintln!(\"The accelerometer chip's id is: {:#b}\", acc[0]); rprintln!(\"The magnetometer chip's id is: {:#b}\", mag[0]); loop {}\n} Apart from the initialization, this piece of code should be straight forward if you understood the I2C protocol as described before. The initialization here works similarly to the one from the UART chapter. We pass the peripheral as well as the pins that are used to communicate with the chip to the constructor; and then the frequency we wish the bus to operate on, in this case 100 kHz (K100).","breadcrumbs":"I2C » Read a single register » Read a single register","id":"93","title":"Read a single register"},"94":{"body":"As always you have to modify Embed.toml to fit your MCU and can then use: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi in order to test our little example program.","breadcrumbs":"I2C » Read a single register » Testing it","id":"94","title":"Testing it"},"95":{"body":"As we already discussed in chapter 5 embedded-hal provides abstractions which can be used to write platform independent code that can interact with hardware. In fact all the methods we have used to interact with hardware in chapter 7 and up until now in chapter 8 were from traits, defined by embedded-hal. Now we'll make actual use of the traits embedded-hal provides for the first time. It would be pointless to implement a driver for our LSM303AGR for every platform embedded Rust supports (and new ones that might eventually pop up). To avoid this a driver can be written that consumes generic types that implement embedded-hal traits in order to provide a platform agnostic version of a driver. Luckily for us this has already been done in the lsm303agr crate. Hence reading the actual accelerometer and magnetometer values will now be basically a plug and play experience (plus reading a bit of documentation). In fact the crates.io page already provides us with everything we need to know in order to read accelerometer data but using a Raspberry Pi. We'll just have to adapt it to our chip: use linux_embedded_hal::I2cdev;\nuse lsm303agr::{AccelOutputDataRate, Lsm303agr}; fn main() { let dev = I2cdev::new(\"/dev/i2c-1\").unwrap(); let mut sensor = Lsm303agr::new_with_i2c(dev); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); loop { if sensor.accel_status().unwrap().xyz_new_data { let data = sensor.accel_data().unwrap(); println!(\"Acceleration: x {} y {} z {}\", data.x, data.y, data.z); } }\n} Because we already know how to create an instance of an object that implements the embedded_hal::blocking::i2c traits from the previous page , this is quite trivial: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A,\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A,\n}; use lsm303agr::{ AccelOutputDataRate, Lsm303agr,\n}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; // Code from documentation let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); loop { if sensor.accel_status().unwrap().xyz_new_data { let data = sensor.accel_data().unwrap(); // RTT instead of normal print rprintln!(\"Acceleration: x {} y {} z {}\", data.x, data.y, data.z); } }\n} Just like the last snippet you should just be able to try this out like this: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi Furthermore if you (physically) move around your micro:bit a little you should see the acceleration numbers that are being printed change.","breadcrumbs":"I2C » Using a driver » Using a driver","id":"95","title":"Using a driver"},"96":{"body":"The challenge for this chapter is, to build a small application that communicates with the outside world via the serial interface introduced in the last chapter. It should be able to receive the commands \"magnetometer\" as well as \"accelerometer\" and then print the corresponding sensor data in response. This time no template code will be provided since all you need is already provided in the UART and this chapter. However, here are a few clues: You might be interested in core::str::from_utf8 to convert the bytes in the buffer to a &str, since we need to compare with \"magnetometer\" and \"accelerometer\". You will (obviously) have to read the documentation of the magnetometer API, however it's more or less equivalent to the accelerometer one","breadcrumbs":"I2C » The challenge » The challenge","id":"96","title":"The challenge"},"97":{"body":"#![no_main]\n#![no_std] use core::str; use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; use microbit::hal::prelude::*;\nuse lsm303agr::{AccelOutputDataRate, MagOutputDataRate, Lsm303agr};\nuse heapless::Vec;\nuse nb::block;\nuse core::fmt::Write; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz50).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); loop { let mut buffer: Vec = Vec::new(); loop { let byte = block!(serial.read()).unwrap(); if byte == 13 { break; } if buffer.push(byte).is_err() { write!(serial, \"error: buffer full\\r\\n\").unwrap(); break; } } if str::from_utf8(&buffer).unwrap().trim() == \"accelerometer\" { while !sensor.accel_status().unwrap().xyz_new_data { } let data = sensor.accel_data().unwrap(); write!(serial, \"Accelerometer: x {} y {} z {}\\r\\n\", data.x, data.y, data.z).unwrap(); } else if str::from_utf8(&buffer).unwrap().trim() == \"magnetometer\" { while !sensor.mag_status().unwrap().xyz_new_data { } let data = sensor.mag_data().unwrap(); write!(serial, \"Magnetometer: x {} y {} z {}\\r\\n\", data.x, data.y, data.z).unwrap(); } else { write!(serial, \"error: command not detected\\r\\n\").unwrap(); } }\n}","breadcrumbs":"I2C » My solution » My solution","id":"97","title":"My solution"},"98":{"body":"In this section, we'll implement a compass using the LEDs on the micro:bit. Like proper compasses, our LED compass must point north somehow. It will do that by turning on one of its outer LEDs; the LED turned on should point towards north. Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction . The magnetometer on the micro:bit measures both the magnitude and the direction of an external magnetic field but it reports back the decomposition of said field along its axes . The magnetometer has three axes associated to it. The X and Y axes basically span the plane that is the floor. The Z axis is pointing \"out\" of the floor, so upwards. You should already be able to write a program that continuously prints the magnetometer data on the RTT console from the I2C chapter . After you wrote that program, locate where north is at your current location. Then line up your micro:bit with that direction and observe how the sensor's measurements look. Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do you see this time? Then rotate it 90 degrees again. What values do you see?","breadcrumbs":"LED compass » LED compass","id":"98","title":"LED compass"},"99":{"body":"One very important thing to do before using a sensor and trying to develop an application using it is verifying that it's output is actually correct. If this does not happen to be the case we need to calibrate the sensor (alternatively it could also be broken but that's rather unlikely in this case). In my case on two different micro:bit's the magnetometer, without calibration, was quite a bit off of what it is supposed to measure. Hence for the purposes of this chapter we will just assume that the sensor has to be calibrated. The calibration involves quite a bit of math (matrices) so we won't cover it here but this Design Note describes the procedure if you are interested. Luckily for us though the group that built the original software for the micro:bit already implemented a calibration mechanism in C++ over here . You can find a translation of it to Rust in src/calibration.rs. The usage is demonstrated in the default src/main.rs file. The way the calibration works is illustrated in this video: You have to basically tilt the micro:bit until all the LEDs on the LED matrix light up. If you do not want to play the game every time you restart your application during development feel free to modify the src/main.rs template to just use the same static calibration once you got the first one. Now where we got the sensor calibration out of the way let's look into actually building this application!","breadcrumbs":"LED compass » Calibration » Calibration","id":"99","title":"Calibration"}},"length":146,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{",":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"3":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"0":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":2,"docs":{"16":{"tf":1.0},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"108":{"tf":1.0}}},"6":{".":{"1":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"4":{"8":{"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},":":{"0":{"0":{":":{"0":{"0":{"df":1,"docs":{"56":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":4.242640687119285}}},"1":{"df":1,"docs":{"55":{"tf":2.449489742783178}}},"6":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"df":1,"docs":{"17":{"tf":1.0}}},"7":{"df":1,"docs":{"78":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"8":{":":{"0":{"2":{"0":{"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":3.1622776601683795},"112":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":5.830951894845301},"72":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"56":{"tf":2.0}}},"u":{"8":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"a":{"df":1,"docs":{"59":{"tf":1.0}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"2":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"1":{"2":{"c":{"4":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":7.211102550927978}},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"1":{"0":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"3":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"b":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"5":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"a":{"6":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"c":{"1":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"2":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{".":{"1":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{".":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}},"7":{"6":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":9,"docs":{"124":{"tf":1.4142135623730951},"23":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"5":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"0":{"0":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"75":{"tf":1.0}}},"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"6":{"3":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"5":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"59":{"tf":1.0}}},"2":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":2,"docs":{"140":{"tf":2.0},"141":{"tf":1.4142135623730951}}},"4":{"4":{"6":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"43":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"3":{"0":{"8":{"2":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"7":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":1.0},"59":{"tf":2.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"4":{"1":{"5":{"8":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"3":{"5":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"2":{"7":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0}}},"7":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"3":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"3":{"9":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"69":{"tf":1.0}}},"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"106":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"111":{"tf":3.605551275463989},"112":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907},"68":{"tf":5.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0}},"e":{"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"2":{"8":{"3":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"0":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"56":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"6":{"9":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"7":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"4":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0}},"m":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"4":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"6":{"1":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"1":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"72":{"tf":1.0}}},"2":{".":{"7":{"3":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"7":{"1":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"6":{"df":3,"docs":{"122":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"62":{"tf":1.0}}},"6":{"9":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{"7":{"1":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"5":{"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}},"df":10,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"3":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"3":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":1.0}}},"2":{"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"111":{"tf":2.23606797749979},"24":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"3":{".":{"6":{"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"4":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"3":{"9":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"8":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}},"9":{"df":1,"docs":{"93":{"tf":1.0}}},"d":{"df":1,"docs":{"104":{"tf":1.0}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"116":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}},"x":{"9":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"4":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"1":{"4":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"5":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"6":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":1,"docs":{"45":{"tf":1.0}}},"9":{"4":{"1":{"1":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"7":{"8":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":7,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"5":{"+":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},".":{"4":{".":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"55":{"tf":2.0}}},"3":{"c":{"b":{"7":{"b":{"0":{"9":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":13,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"111":{"tf":4.47213595499958},"112":{"tf":1.0},"142":{"tf":1.0},"34":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"x":{"5":{"df":3,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"3":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"2":{".":{"4":{"4":{"6":{"2":{"8":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"9":{"1":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"9":{"6":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"7":{"1":{"3":{"2":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"43":{"tf":1.0}}},"9":{"3":{"1":{"1":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"5":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"103":{"tf":2.8284271247461903},"114":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}},"9":{"0":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"124":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"4":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":25,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"y":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"3":{"df":0,"docs":{},"e":{"2":{"5":{"df":0,"docs":{},"e":{"3":{"a":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"e":{"c":{"4":{"df":0,"docs":{},"e":{"1":{"9":{"6":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"+":{"1":{"0":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"0":{"df":1,"docs":{"43":{"tf":1.0}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"l":{"df":2,"docs":{"112":{"tf":1.0},"123":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}},"v":{"df":9,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.449489742783178},"133":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":3.4641016151377544},"107":{"tf":2.449489742783178},"108":{"tf":1.7320508075688772},"131":{"tf":1.0},"133":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":2.23606797749979},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"108":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"105":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"49":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"104":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"m":{"df":1,"docs":{"72":{"tf":1.0}}},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"54":{"tf":1.0}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":23,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"8":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.0}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.0}}},"d":{"df":9,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"107":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"69":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":2.0},"143":{"tf":1.7320508075688772},"144":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903}}}}}}},"df":5,"docs":{"117":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"145":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"70":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}}}},"h":{"a":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"106":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"106":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":21,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"99":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":10,"docs":{"100":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"141":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"120":{"tf":1.0},"79":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"107":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"107":{"tf":2.0},"54":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"34":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"11":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"68":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"127":{"tf":1.0},"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"112":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"q":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"7":{"3":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"55":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"144":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"m":{"'":{"df":3,"docs":{"26":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":17,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"29":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.449489742783178},"45":{"tf":1.0},"46":{"tf":2.449489742783178},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"144":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"113":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":7,"docs":{"111":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.0},"37":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"122":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"102":{"tf":1.0}},"f":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"138":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"2":{"0":{"4":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"d":{"2":{"8":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"133":{"tf":1.4142135623730951},"16":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"131":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"106":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0}}}}}}},"x":{"df":2,"docs":{"102":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"98":{"tf":1.0}}}}},"b":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":17,"docs":{"111":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"122":{"tf":1.0},"6":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"144":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.0},"46":{"tf":2.0},"66":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":13,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}},"u":{"d":{"df":3,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"78":{"tf":1.0}},"e":{":":{":":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"1":{"1":{"5":{"2":{"0":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":16,"docs":{"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"132":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"59":{"tf":1.4142135623730951},"68":{"tf":1.0}},"n":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"100":{"tf":1.0}}}},"w":{"df":13,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"39":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":2.449489742783178}}}}},"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}}}}}},"t":{"df":20,"docs":{"100":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":2.8284271247461903},"73":{"tf":2.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.0},"91":{"tf":2.0},"93":{"tf":2.23606797749979},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"42":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":8,"docs":{"36":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":8,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":2.23606797749979},"56":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"129":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"'":{"df":1,"docs":{"116":{"tf":1.0}}},".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"2":{"c":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}}}},"0":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":41,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":2.6457513110645907},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"13":{"tf":2.8284271247461903},"133":{"tf":2.0},"27":{"tf":1.0},"3":{"tf":1.7320508075688772},"36":{"tf":1.0},"42":{"tf":2.6457513110645907},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"'":{"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.0}}},"df":20,"docs":{"0":{"tf":1.0},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"l":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"135":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":3.1622776601683795},"59":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":3.4641016151377544},"58":{"tf":1.0},"59":{"tf":4.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":5,"docs":{"133":{"tf":1.0},"51":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"s":{"df":1,"docs":{"69":{"tf":2.23606797749979}}}},"u":{"df":6,"docs":{"105":{"tf":1.0},"34":{"tf":1.4142135623730951},"70":{"tf":1.0},"88":{"tf":2.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":6,"docs":{"122":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"109":{"tf":1.0},"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":20,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"122":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"109":{"tf":1.0},"113":{"tf":2.0},"114":{"tf":3.0},"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"20":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":17,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.7320508075688772},"55":{"tf":3.1622776601683795},"70":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":2.449489742783178},"34":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"111":{"tf":1.0},"126":{"tf":1.0},"68":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"99":{"tf":3.0}}}},"df":0,"docs":{}},"l":{"df":19,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"131":{"tf":1.0},"141":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"9":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"82":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":2.0},"54":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":2.0},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.0}}}},"c":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":3,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":24,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":2.23606797749979},"19":{"tf":2.6457513110645907},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.449489742783178},"56":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"114":{"tf":1.7320508075688772},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":3,"docs":{"137":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.0}}},"df":11,"docs":{"11":{"tf":1.7320508075688772},"111":{"tf":1.0},"12":{"tf":1.4142135623730951},"139":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":2.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"108":{"tf":2.0},"38":{"tf":1.0},"78":{"tf":2.449489742783178},"82":{"tf":2.449489742783178},"83":{"tf":2.449489742783178},"84":{"tf":2.449489742783178},"86":{"tf":2.449489742783178},"87":{"tf":2.449489742783178},"93":{"tf":2.0},"95":{"tf":2.0},"97":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"107":{"tf":1.0},"68":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"1":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":2.449489742783178},"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"84":{"tf":1.4142135623730951}},"g":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":2.449489742783178},"17":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"122":{"tf":1.0},"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"'":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":20,"docs":{"129":{"tf":1.4142135623730951},"135":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":2.6457513110645907},"44":{"tf":2.8284271247461903},"45":{"tf":2.6457513110645907},"46":{"tf":2.8284271247461903},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"20":{"tf":1.0},"75":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"128":{"tf":1.0},"132":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"20":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"56":{"tf":1.0}},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":32,"docs":{"102":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":2.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":1,"docs":{"111":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"m":{"3":{"df":1,"docs":{"75":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"131":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"o":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"75":{"tf":2.23606797749979}},"e":{"df":3,"docs":{"36":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":4.358898943540674},"64":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":11,"docs":{"1":{"tf":1.0},"129":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":3.4641016151377544},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"84":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"98":{"tf":2.0}}}},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"36":{"tf":1.0},"55":{"tf":3.872983346207417},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"100":{"tf":1.7320508075688772},"107":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"114":{"tf":1.0},"123":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"133":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"114":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"56":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"13":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"106":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"98":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}}},"df":3,"docs":{"108":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":2.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":2.0},"116":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":11,"docs":{"106":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.4142135623730951},"36":{"tf":1.0},"59":{"tf":3.1622776601683795},"64":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":24,"docs":{"1":{"tf":1.7320508075688772},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":2.23606797749979},"132":{"tf":1.4142135623730951},"141":{"tf":1.0},"145":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"8":{"tf":2.23606797749979},"88":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"84":{"tf":1.0}}},"t":{"df":6,"docs":{"1":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"70":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"119":{"tf":1.7320508075688772}}}}},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"111":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"111":{"tf":6.164414002968976}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"111":{"tf":3.4641016151377544}}}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"83":{"tf":2.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":7,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"137":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"114":{"tf":1.0}}}},"df":11,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.0},"46":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"55":{"tf":4.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"123":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"125":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"3":{"tf":1.4142135623730951},"55":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"143":{"tf":1.4142135623730951}},"u":{"df":2,"docs":{"10":{"tf":1.0},"145":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"114":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"137":{"tf":2.0},"49":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":4,"docs":{"19":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"74":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":14,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.4142135623730951},"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"98":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"51":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"27":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"x":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"z":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"70":{"tf":3.3166247903554},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"128":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":1.0},"73":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"133":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"49":{"tf":1.0},"70":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":2.0}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":19,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907},"64":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":3,"docs":{"31":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"107":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"98":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"70":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"d":{"b":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":5,"docs":{"107":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"111":{"tf":2.449489742783178},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"38":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"70":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"2":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.0}},"m":{"df":1,"docs":{"66":{"tf":1.0}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":2.8284271247461903},"59":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":14,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":7,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0},"52":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"44":{"tf":3.0},"46":{"tf":3.0},"63":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"123":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"143":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"42":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"111":{"tf":1.0}},"e":{"d":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"1":{"/":{"0":{"6":{"5":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":4,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":13,"docs":{"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"49":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":21,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":2.23606797749979},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"75":{"tf":2.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":1.0},"93":{"tf":2.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":29,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"116":{"tf":1.0},"123":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"125":{"tf":2.23606797749979},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"m":{"df":1,"docs":{"124":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}}},"r":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"100":{"tf":2.449489742783178},"101":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"111":{"tf":3.4641016151377544},"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.4142135623730951},"49":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.449489742783178}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":2.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"59":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"117":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"130":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"e":{"(":{"&":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":15,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.8284271247461903},"115":{"tf":1.7320508075688772},"116":{"tf":3.605551275463989},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"122":{"tf":1.0},"47":{"tf":1.0}}}}},"m":{"a":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"15":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}}}},"df":5,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"g":{".":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"80":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"123":{"tf":1.0},"144":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"125":{"tf":1.0},"132":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":1,"docs":{"133":{"tf":1.0}}},"r":{"df":5,"docs":{"133":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":2.0},"93":{"tf":1.0},"95":{"tf":2.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"53":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"100":{"tf":1.0},"26":{"tf":1.0},"9":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772},"116":{"tf":2.23606797749979},"142":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":2,"docs":{"104":{"tf":1.0},"133":{"tf":1.0}}},"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"11":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"110":{"tf":1.4142135623730951},"112":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":4,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"12":{"tf":1.0},"53":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"110":{"tf":1.7320508075688772},"114":{"tf":2.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":1,"docs":{"113":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"111":{"tf":1.0}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"f":{"3":{"2":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"m":{"b":{"df":18,"docs":{"135":{"tf":1.4142135623730951},"138":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":2.23606797749979},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":2.449489742783178},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"135":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":32,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"109":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.6457513110645907},"13":{"tf":1.0},"130":{"tf":1.4142135623730951},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":2.0},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.23606797749979},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"95":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"114":{"tf":1.0},"140":{"tf":2.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"111":{"tf":1.0},"122":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"59":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.0},"63":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":27,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"111":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"55":{"tf":1.4142135623730951},"83":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"108":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":2.6457513110645907},"59":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"56":{"tf":2.0}}},"c":{"/":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":6,"docs":{"1":{"tf":1.7320508075688772},"100":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"106":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}},"t":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":2.23606797749979}},"u":{"df":3,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"36":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"116":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"119":{"tf":2.8284271247461903},"120":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":2.6457513110645907},"145":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"117":{"tf":1.0},"131":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"112":{"tf":1.0},"74":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"37":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"102":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}}},"y":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"f":{"3":{"2":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"3":{"c":{"1":{"9":{"5":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.0}}},"t":{"df":3,"docs":{"13":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"137":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"40":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772}}},"s":{"df":8,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}}},"q":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"69":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"127":{"tf":1.0},"70":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":2.0},"55":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"129":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":8,"docs":{"111":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"40":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"75":{"tf":1.0},"98":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":16,"docs":{"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"140":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":3.0},"59":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}}}},"d":{"df":18,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":2.0},"16":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"123":{"tf":1.0},"137":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"144":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"78":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"t":{"df":1,"docs":{"94":{"tf":1.0}}},"x":{"df":5,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"137":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"40":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":15,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"138":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.3166247903554},"58":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"n":{"df":28,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":4.58257569495584},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"1":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"13":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":2.23606797749979},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"82":{"tf":1.0}}}}}},"o":{"d":{"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"78":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.0},"59":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":5,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"132":{"tf":1.0},"58":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"144":{"tf":4.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":2.0},"73":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"|":{"c":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.0},"133":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"108":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"y":{"_":{"a":{":":{":":{"df":0,"docs":{},"k":{"1":{"0":{"0":{"df":9,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"13":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}}},"l":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":4,"docs":{"111":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":4,"docs":{"124":{"tf":1.0},"13":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":2.23606797749979},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"47":{"tf":1.0},"56":{"tf":1.0}}}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"9":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"115":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":9,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":2.23606797749979},"111":{"tf":4.69041575982343},"112":{"tf":3.3166247903554},"115":{"tf":2.0},"116":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"111":{"tf":2.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"98":{"tf":1.0}}}}}},"c":{"c":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"31":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":15,"docs":{"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.7320508075688772},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":6.708203932499369},"64":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":4,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.7320508075688772},"113":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"111":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"139":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"104":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}}}},"df":4,"docs":{"104":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.0},"59":{"tf":1.0}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"20":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"124":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"143":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"110":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0}}}},"df":25,"docs":{"106":{"tf":1.0},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"119":{"tf":1.0},"139":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"d":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}},"df":3,"docs":{"114":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}},"t":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":3.0}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"1":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"b":{"df":2,"docs":{"12":{"tf":1.0},"29":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.7320508075688772}},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"6":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"d":{"df":3,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":3.0},"112":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"70":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"5":{"tf":1.0},"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"110":{"tf":1.0}}},"df":1,"docs":{"75":{"tf":1.0}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"69":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"m":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"122":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"129":{"tf":3.4641016151377544},"13":{"tf":1.4142135623730951},"133":{"tf":2.0},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0}},"f":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.0}}},"l":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":19,"docs":{"10":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"13":{"tf":1.7320508075688772},"130":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"135":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":2.0}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.4142135623730951},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":4.47213595499958}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}},"t":{"df":1,"docs":{"8":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"p":{"df":6,"docs":{"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"3":{"tf":1.0}}}},"n":{"c":{"df":5,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"26":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}}},"df":23,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"84":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":7,"docs":{"107":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"59":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":2,"docs":{"106":{"tf":1.0},"73":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"70":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"107":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"84":{"tf":1.0}}}},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},".":{"df":6,"docs":{"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"27":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"93":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"133":{"tf":1.0},"78":{"tf":1.4142135623730951}}}},"2":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":18,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":2.6457513110645907},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}},"3":{"2":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"111":{"tf":2.449489742783178}}},"d":{"df":5,"docs":{"34":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"39":{"tf":1.7320508075688772},"93":{"tf":2.0}},"e":{"a":{"df":5,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"101":{"tf":1.0}},"i":{"df":1,"docs":{"101":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"s":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"112":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":2.0},"13":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":2.0},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.6457513110645907},"133":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"63":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":10,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"112":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"111":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"i":{"c":{"df":3,"docs":{"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}}}},"o":{"df":4,"docs":{"140":{"tf":1.0},"143":{"tf":2.23606797749979},"144":{"tf":2.0},"59":{"tf":1.7320508075688772}},"r":{"df":0,"docs":{},"m":{"df":13,"docs":{"100":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}},"s":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}}},"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.4142135623730951},"78":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":3,"docs":{"1":{"tf":1.0},"111":{"tf":2.8284271247461903},"125":{"tf":2.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"105":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":16,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}},"n":{"c":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":18,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"130":{"tf":1.0},"141":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"120":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"111":{"tf":1.0},"112":{"tf":1.0}},"r":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"l":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"109":{"tf":1.0},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"37":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"86":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"36":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}},"n":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":3.605551275463989},"116":{"tf":2.23606797749979},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":2.23606797749979},"133":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"107":{"tf":1.7320508075688772},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"119":{"tf":1.0},"2":{"tf":1.0},"96":{"tf":1.0}},"t":{"df":1,"docs":{"109":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}}},"r":{"d":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"122":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":5,"docs":{"117":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"'":{"df":17,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"80":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"117":{"tf":1.0},"130":{"tf":1.0}}},"r":{"df":2,"docs":{"112":{"tf":1.0},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"101":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":5,"docs":{"141":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"k":{"1":{"0":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"/":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"107":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"124":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"102":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"74":{"tf":1.0},"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"d":{"df":3,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.4142135623730951},"20":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":4,"docs":{"119":{"tf":1.0},"133":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":9,"docs":{"49":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}},"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"137":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}},"v":{"df":6,"docs":{"122":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"84":{"tf":1.0}}}},"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":35,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":3.3166247903554},"124":{"tf":2.0},"125":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":2.449489742783178},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"98":{"tf":2.23606797749979},"99":{"tf":1.4142135623730951}},"s":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":7,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"133":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"'":{"df":19,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"70":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"116":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"13":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}},":":{":":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"104":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"109":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"116":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":10,"docs":{"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"67":{"tf":1.0},"99":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":16,"docs":{"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"36":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.8284271247461903},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.23606797749979},"98":{"tf":1.0}}},"k":{"df":4,"docs":{"20":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":10,"docs":{"135":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"33":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"39":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":8,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"79":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}}},"o":{"a":{"d":{"df":2,"docs":{"124":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"1":{"3":{"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":9,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"59":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"p":{"df":27,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.8284271247461903},"115":{"tf":2.449489742783178},"116":{"tf":1.7320508075688772},"124":{"tf":1.0},"54":{"tf":1.7320508075688772},"59":{"tf":2.6457513110645907},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"13":{"tf":1.0}}},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"t":{"df":9,"docs":{"117":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"w":{"df":9,"docs":{"10":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"111":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"2":{"c":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"2":{"c":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.4142135623730951},"15":{"tf":1.0},"92":{"tf":2.23606797749979},"93":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"55":{"tf":1.0}}},"3":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"5":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":1.0}}},"4":{"df":3,"docs":{"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"55":{"tf":1.0}}}},"7":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"a":{"c":{"df":2,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"o":{"df":3,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"31":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"132":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"104":{"tf":3.4641016151377544},"126":{"tf":1.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"/":{"1":{"0":{"0":{".":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"112":{"tf":1.0},"140":{"tf":1.7320508075688772}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":2.23606797749979},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"92":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":28,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"135":{"tf":1.0},"142":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"93":{"tf":1.0},"95":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":11,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":1,"docs":{"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"143":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951}}}}},"h":{"df":2,"docs":{"102":{"tf":1.0},"99":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":13,"docs":{"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"42":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"108":{"tf":2.449489742783178}}}},"df":1,"docs":{"108":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"'":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"df":7,"docs":{"42":{"tf":2.0},"43":{"tf":2.0},"45":{"tf":2.0},"56":{"tf":2.23606797749979},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":12,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"93":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.4142135623730951},"133":{"tf":1.0},"34":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"123":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"8":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"122":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"u":{"df":1,"docs":{"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"74":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"131":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"104":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":1,"docs":{"108":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"99":{"tf":1.0}}},"df":42,"docs":{"100":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"36":{"tf":3.1622776601683795},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":2.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"70":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"108":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0}}}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}},"m":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"27":{"tf":1.0},"38":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":37,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"70":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":2.23606797749979},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},"/":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}}}}},"df":8,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"73":{"tf":2.6457513110645907},"74":{"tf":1.7320508075688772},"84":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"78":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":2,"docs":{"9":{"tf":1.0},"93":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}},"d":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}},"e":{":":{"=":{"\"":{"6":{"6":{"6":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"59":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}},"l":{"df":5,"docs":{"123":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":15,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.7320508075688772},"58":{"tf":1.0},"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"145":{"tf":1.0},"59":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":31,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"137":{"tf":1.0},"143":{"tf":1.0},"19":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"131":{"tf":1.0},"133":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"132":{"tf":2.449489742783178}}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":8,"docs":{"104":{"tf":1.0},"106":{"tf":2.0},"111":{"tf":3.7416573867739413},"112":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}}}}}}},"s":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"p":{"4":{"3":{"0":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"109":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"119":{"tf":3.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"127":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":25,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":2.6457513110645907},"102":{"tf":2.6457513110645907},"103":{"tf":2.6457513110645907},"104":{"tf":2.6457513110645907},"108":{"tf":2.23606797749979},"111":{"tf":2.8284271247461903},"112":{"tf":2.23606797749979},"115":{"tf":2.23606797749979},"116":{"tf":2.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"93":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"114":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"5":{"1":{"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}}},"2":{"8":{"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"81":{"tf":1.0},"82":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"104":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}},"b":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"'":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":2.6457513110645907},"141":{"tf":2.0},"142":{"tf":1.0},"144":{"tf":3.1622776601683795},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"116":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":23,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"73":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.0},"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":13,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}},"n":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":2.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":2.6457513110645907},"16":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":2.0},"39":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":3.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"36":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"x":{"df":3,"docs":{"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"78":{"tf":1.4142135623730951}},"e":{"df":16,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"36":{"tf":2.0},"55":{"tf":4.0},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"69":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":1.0}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":28,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"117":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.8284271247461903},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":5,"docs":{"111":{"tf":1.0},"120":{"tf":1.0},"56":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"5":{"1":{"8":{"2":{"2":{"_":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}},"2":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"1":{"df":1,"docs":{"121":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"8":{"3":{"3":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"111":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.23606797749979},"13":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"45":{"tf":2.0},"55":{"tf":2.0},"59":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":2.0},"107":{"tf":2.0},"54":{"tf":1.0},"98":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"96":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"108":{"tf":1.0},"123":{"tf":1.4142135623730951},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"144":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"c":{"df":13,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"139":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":40,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":2.0},"120":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":2.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"o":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"122":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"138":{"tf":1.0},"3":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"1":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"r":{"df":9,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"127":{"tf":1.0},"84":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"111":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"36":{"tf":1.0},"72":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"19":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"133":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"120":{"tf":1.0},"129":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"73":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.6457513110645907}}}}},"df":26,"docs":{"100":{"tf":2.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"125":{"tf":1.0},"126":{"tf":1.0},"142":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"111":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"112":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"111":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"49":{"tf":2.0},"50":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772}},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"26":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":7,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":9,"docs":{"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"y":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"t":{"df":16,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":1.0},"45":{"tf":2.449489742783178},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"132":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"70":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"108":{"tf":1.0},"26":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"93":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":3,"docs":{"129":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.0}}},"df":2,"docs":{"113":{"tf":1.0},"26":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"r":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"93":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":2.23606797749979},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":2.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}}},"k":{"df":1,"docs":{"82":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"106":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"102":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":4,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":2.8284271247461903},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"df":5,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":12,"docs":{"114":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"69":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"2":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"100":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}}}}}}},"y":{"df":4,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},"df":3,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.0},"112":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"106":{"tf":1.0},"117":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"129":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":2,"docs":{"70":{"tf":1.0},"95":{"tf":1.0}},"g":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":3,"docs":{"27":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"100":{"tf":1.4142135623730951},"102":{"tf":2.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"119":{"tf":2.6457513110645907},"142":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"82":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"144":{"tf":1.0},"59":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"144":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"122":{"tf":1.0}}}},"p":{"df":3,"docs":{"73":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"109":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"7":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":2.0},"127":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"2":{"tf":1.0},"70":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"132":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"119":{"tf":1.4142135623730951},"133":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"37":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}},"s":{"df":5,"docs":{"113":{"tf":1.0},"114":{"tf":2.449489742783178},"123":{"tf":1.0},"125":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"20":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"13":{"tf":1.0},"137":{"tf":1.7320508075688772},"2":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"132":{"tf":1.0}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"106":{"tf":1.0},"142":{"tf":2.8284271247461903},"143":{"tf":3.0},"144":{"tf":2.449489742783178},"36":{"tf":1.0},"40":{"tf":1.0},"59":{"tf":3.1622776601683795},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":2.8284271247461903}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":4,"docs":{"135":{"tf":1.0},"19":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"121":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"4":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"127":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"t":{"df":4,"docs":{"12":{"tf":1.0},"43":{"tf":2.449489742783178},"45":{"tf":2.449489742783178},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":39,"docs":{"1":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.4142135623730951},"144":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"54":{"tf":3.1622776601683795},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"61":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"133":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"106":{"tf":2.0},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"123":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"112":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":3.1622776601683795},"76":{"tf":1.4142135623730951},"88":{"tf":2.8284271247461903},"89":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":21,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":2.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}}}}},"u":{"b":{"(":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"111":{"tf":2.8284271247461903},"114":{"tf":1.0},"116":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"64":{"tf":1.0}}},"df":1,"docs":{"73":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"117":{"tf":1.0}}},"s":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"104":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"30":{"tf":1.0},"75":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":2.449489742783178}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"q":{"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":1,"docs":{"74":{"tf":1.0}},"f":{"a":{"a":{"df":0,"docs":{},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}},"n":{"4":{"8":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"a":{"a":{"a":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":3.0},"101":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"111":{"tf":1.0},"47":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":16,"docs":{"108":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}},"0":{"df":2,"docs":{"137":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"102":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":6,"docs":{"122":{"tf":2.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"127":{"tf":1.0},"70":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"111":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"105":{"tf":1.0},"119":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"d":{"df":24,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"13":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.7320508075688772},"93":{"tf":2.8284271247461903},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"63":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":9,"docs":{"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"139":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"114":{"tf":2.0}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"36":{"tf":1.0}},"u":{"c":{"df":2,"docs":{"112":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"114":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"137":{"tf":1.0},"144":{"tf":2.23606797749979},"59":{"tf":1.0},"92":{"tf":2.6457513110645907},"93":{"tf":2.449489742783178}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"29":{"tf":1.0},"69":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"v":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"130":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"107":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"104":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":5,"docs":{"132":{"tf":1.0},"14":{"tf":1.0},"145":{"tf":1.0},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951}}},"v":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"54":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"141":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":4,"docs":{"115":{"tf":1.0},"40":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"37":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"4":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"116":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"111":{"tf":1.0},"13":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.0},"145":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":2.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.4142135623730951},"63":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"123":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"86":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":7,"docs":{"111":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"m":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"17":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"11":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}}}}},"f":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":16,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951}}}},"o":{"a":{"d":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":5,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"69":{"tf":2.449489742783178}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{"1":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":2,"docs":{"111":{"tf":3.4641016151377544},"62":{"tf":1.0}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"1":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}}},"s":{"df":2,"docs":{"135":{"tf":1.0},"19":{"tf":1.0}}},"t":{"c":{"df":1,"docs":{"128":{"tf":1.0}}},"df":2,"docs":{"54":{"tf":1.4142135623730951},"64":{"tf":1.0}},"o":{"df":1,"docs":{"12":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":7,"docs":{"106":{"tf":1.0},"54":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"95":{"tf":1.0},"98":{"tf":1.0}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"110":{"tf":1.0},"135":{"tf":1.0},"27":{"tf":2.0},"34":{"tf":1.4142135623730951}}}},"n":{"df":16,"docs":{"112":{"tf":2.0},"119":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"c":{"df":2,"docs":{"17":{"tf":2.0},"55":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":26,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.7320508075688772},"114":{"tf":1.0},"12":{"tf":2.0},"123":{"tf":1.7320508075688772},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":2.449489742783178},"135":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.0}}}}}}},"w":{"df":2,"docs":{"34":{"tf":2.0},"72":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"49":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":15,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"141":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"106":{"tf":1.0},"55":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.4142135623730951},"128":{"tf":1.0}}}},"w":{"df":1,"docs":{"88":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"l":{"df":1,"docs":{"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"111":{"tf":2.6457513110645907},"112":{"tf":1.7320508075688772}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"d":{"a":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"128":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"92":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":27,"docs":{"104":{"tf":2.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":2.449489742783178},"5":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"d":{"4":{"7":{"2":{"df":0,"docs":{},"e":{"1":{"6":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":4.123105625617661}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"n":{"d":{"df":15,"docs":{"123":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":2.0},"80":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"126":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"98":{"tf":1.0}}},".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"g":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"1":{"6":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.7320508075688772},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"42":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"92":{"tf":3.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":2.0}}}}},"t":{"df":4,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"122":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":18,"docs":{"1":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":3.605551275463989},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}},"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"v":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":1.7320508075688772}}}},"o":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"138":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0}}}}}}},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"116":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.7320508075688772},"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"121":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"92":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":1.0}}},"l":{"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}},"i":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":3,"docs":{"13":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"74":{"tf":1.7320508075688772}}}}},"df":3,"docs":{"139":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":9,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"n":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"106":{"tf":1.0},"42":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":2.0},"70":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":13,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"69":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"88":{"tf":1.4142135623730951}}},"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"139":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":15,"docs":{"10":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"119":{"tf":1.0},"133":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":1,"docs":{"30":{"tf":1.0}}}},"z":{"df":0,"docs":{},"e":{"df":5,"docs":{"110":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"69":{"tf":3.3166247903554}}}}},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":2.23606797749979}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"69":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"111":{"tf":2.449489742783178},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":9,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":2.6457513110645907},"111":{"tf":4.898979485566356},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"o":{"c":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"118":{"tf":1.4142135623730951},"133":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"69":{"tf":2.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"v":{"df":3,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"120":{"tf":1.0},"132":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"121":{"tf":1.0},"133":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"111":{"tf":1.0},"133":{"tf":1.4142135623730951},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"112":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"98":{"tf":1.0}}}},"df":2,"docs":{"144":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"111":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":15,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"21":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"124":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.7320508075688772}},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"c":{"/":{"0":{"3":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.23606797749979}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"54":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"129":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"112":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"76":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"142":{"tf":1.0}}},"t":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"54":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":3.1622776601683795},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"125":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"8":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.449489742783178}}}}}}},"i":{"c":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"69":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"u":{"df":4,"docs":{"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0}}}}},"d":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"141":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"75":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"59":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}},"df":11,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"143":{"tf":1.0},"92":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"&":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"125":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":2,"docs":{"59":{"tf":1.4142135623730951},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":3.605551275463989},"112":{"tf":1.0},"116":{"tf":1.7320508075688772},"50":{"tf":1.0},"83":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"84":{"tf":1.0}}}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"=":{"=":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":8,"docs":{"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"o":{"df":5,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"127":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.4142135623730951},"59":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}},"s":{"df":1,"docs":{"99":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":9,"docs":{"123":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"119":{"tf":1.7320508075688772}}}}}}}},"w":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"123":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"55":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"105":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"143":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"111":{"tf":3.0},"112":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"102":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"42":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":6,"docs":{"118":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"76":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"137":{"tf":2.0},"36":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"64":{"tf":1.0},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"90":{"tf":2.23606797749979},"91":{"tf":2.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"107":{"tf":1.0},"119":{"tf":3.1622776601683795},"133":{"tf":1.0},"61":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"13":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"116":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":6,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"79":{"tf":1.0},"94":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"105":{"tf":1.0},"106":{"tf":1.7320508075688772},"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"31":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"3":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"55":{"tf":1.0}}}}}}},"t":{"a":{"df":2,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"q":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":13,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":1,"docs":{"123":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"15":{"tf":1.0},"76":{"tf":1.0}}}}}}}}}},"u":{"df":5,"docs":{"100":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"8":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":2.0}}},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":30,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":2.449489742783178},"128":{"tf":2.0},"133":{"tf":1.0},"141":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"r":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"0":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"116":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"0":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}},"1":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.449489742783178},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"123":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"131":{"tf":1.0}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"104":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":14,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"p":{"df":9,"docs":{"111":{"tf":1.4142135623730951},"133":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.4142135623730951}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"133":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"124":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"69":{"tf":2.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"144":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"k":{"df":6,"docs":{"107":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"128":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"135":{"tf":1.0},"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":2.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"122":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"85":{"tf":1.0}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}}}},"df":14,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":2.449489742783178},"73":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":20,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":4.242640687119285},"116":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}},"m":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}}},"o":{"df":22,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"54":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":2.0},"99":{"tf":1.0}}}},"x":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"8":{"df":3,"docs":{"111":{"tf":2.6457513110645907},"84":{"tf":1.4142135623730951},"93":{"tf":2.0}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"122":{"tf":2.0},"76":{"tf":2.0},"78":{"tf":3.4641016151377544},"83":{"tf":1.0},"93":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"b":{"df":1,"docs":{"59":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"135":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"73":{"tf":1.0}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"36":{"tf":2.0},"54":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"3":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":4,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"42":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"99":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"119":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":33,"docs":{"102":{"tf":1.0},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"17":{"tf":1.0},"36":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"56":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"99":{"tf":1.0}}}},"b":{"df":11,"docs":{"129":{"tf":2.0},"13":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"56":{"tf":2.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":93,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"100":{"tf":3.3166247903554},"101":{"tf":3.4641016151377544},"102":{"tf":4.123105625617661},"103":{"tf":3.872983346207417},"104":{"tf":3.4641016151377544},"105":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":3.0},"109":{"tf":3.1622776601683795},"11":{"tf":1.0},"111":{"tf":3.3166247903554},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":3.0},"115":{"tf":2.6457513110645907},"116":{"tf":4.58257569495584},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":2.23606797749979},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"133":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":4.123105625617661},"61":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":2.0},"64":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":2.449489742783178},"68":{"tf":2.449489742783178},"69":{"tf":2.6457513110645907},"70":{"tf":2.8284271247461903},"73":{"tf":2.449489742783178},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":3.3166247903554},"8":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":3.0},"84":{"tf":2.6457513110645907},"86":{"tf":3.0},"87":{"tf":2.8284271247461903},"88":{"tf":2.6457513110645907},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":3.1622776601683795},"94":{"tf":1.0},"95":{"tf":3.605551275463989},"97":{"tf":3.4641016151377544},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"129":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"111":{"tf":3.0},"69":{"tf":1.4142135623730951}},"e":{"]":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"0":{"tf":1.0},"129":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.4142135623730951},"70":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"'":{"df":1,"docs":{"78":{"tf":1.0}}},".":{"0":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":31,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":1.7320508075688772}}},"2":{"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":2.0},"84":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":2.23606797749979}}},"a":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":3.4641016151377544},"112":{"tf":2.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"59":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"]":{"[":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"29":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"110":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":2,"docs":{"104":{"tf":1.0},"116":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":3,"docs":{"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}},"i":{"df":12,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"109":{"tf":2.23606797749979},"16":{"tf":3.0},"18":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":3.0},"68":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"i":{"a":{"df":14,"docs":{"111":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":1,"docs":{"38":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"106":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"20":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"84":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}},"y":{"df":18,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"100":{"tf":1.0},"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"41":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"r":{"df":2,"docs":{"109":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":1,"docs":{"67":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":15,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.0}}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":8,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"117":{"tf":1.0},"3":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"100":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.0},"7":{"tf":1.0}}},"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}}}},"o":{"_":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"i":{"_":{"a":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"102":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"80":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":7,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"55":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"104":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"8":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"r":{"d":{"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":39,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":10,"docs":{"0":{"tf":1.0},"123":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"111":{"tf":1.0},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"83":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":18,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"98":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"135":{"tf":1.0},"49":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"98":{"tf":1.0}}}}}}},"x":{"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"142":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"26":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"y":{"df":1,"docs":{"100":{"tf":1.0}}}},"y":{"df":9,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.6457513110645907},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"59":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}},"df":1,"docs":{"106":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"73":{"tf":1.0},"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}},"r":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}}}}}},"z":{"df":7,"docs":{"104":{"tf":2.6457513110645907},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"74":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{",":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"3":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"0":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":2,"docs":{"16":{"tf":1.0},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"108":{"tf":1.0}}},"6":{".":{"1":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"4":{"8":{"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},":":{"0":{"0":{":":{"0":{"0":{"df":1,"docs":{"56":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":4.242640687119285}}},"1":{"df":1,"docs":{"55":{"tf":2.449489742783178}}},"6":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"df":1,"docs":{"17":{"tf":1.0}}},"7":{"df":1,"docs":{"78":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"8":{":":{"0":{"2":{"0":{"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":3.1622776601683795},"112":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":5.830951894845301},"72":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"56":{"tf":2.0}}},"u":{"8":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"a":{"df":1,"docs":{"59":{"tf":1.0}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"2":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"1":{"2":{"c":{"4":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":7.211102550927978}},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"1":{"0":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"3":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"b":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"5":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"a":{"6":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"c":{"1":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"2":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{".":{"1":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{".":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}},"7":{"6":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":9,"docs":{"124":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"5":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"0":{"0":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"75":{"tf":1.0}}},"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"6":{"3":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"5":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"59":{"tf":1.0}}},"2":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":2,"docs":{"140":{"tf":2.0},"141":{"tf":1.4142135623730951}}},"4":{"4":{"6":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"43":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"3":{"0":{"8":{"2":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"7":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":1.0},"59":{"tf":2.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"4":{"1":{"5":{"8":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"3":{"5":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"2":{"7":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0}}},"7":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"3":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"3":{"9":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"69":{"tf":1.0}}},"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"111":{"tf":3.605551275463989},"112":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907},"68":{"tf":5.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0}},"e":{"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"2":{"8":{"3":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"0":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"56":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"6":{"9":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"7":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"4":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0}},"m":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"4":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"6":{"1":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"1":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"72":{"tf":1.0}}},"2":{".":{"7":{"3":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"7":{"1":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"6":{"df":3,"docs":{"122":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"62":{"tf":1.0}}},"6":{"9":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{"7":{"1":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"5":{"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}},"df":10,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"111":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"3":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"3":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":1.0}}},"2":{"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"111":{"tf":2.23606797749979},"24":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"3":{".":{"6":{"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"4":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"3":{"9":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"8":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}},"9":{"df":1,"docs":{"93":{"tf":1.0}}},"d":{"df":1,"docs":{"104":{"tf":1.0}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"116":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}},"x":{"9":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"4":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"1":{"4":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"5":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"6":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":1,"docs":{"45":{"tf":1.0}}},"9":{"4":{"1":{"1":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"7":{"8":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":7,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"5":{"+":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},".":{"4":{".":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"55":{"tf":2.0}}},"3":{"c":{"b":{"7":{"b":{"0":{"9":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":13,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"111":{"tf":4.47213595499958},"112":{"tf":1.0},"142":{"tf":1.0},"34":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"x":{"5":{"df":3,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"3":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"2":{".":{"4":{"4":{"6":{"2":{"8":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"9":{"1":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"9":{"6":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"7":{"1":{"3":{"2":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"43":{"tf":1.0}}},"9":{"3":{"1":{"1":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"5":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"103":{"tf":2.8284271247461903},"114":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}},"9":{"0":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"124":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"4":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":25,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"y":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"3":{"df":0,"docs":{},"e":{"2":{"5":{"df":0,"docs":{},"e":{"3":{"a":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"e":{"c":{"4":{"df":0,"docs":{},"e":{"1":{"9":{"6":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"+":{"1":{"0":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"0":{"df":1,"docs":{"43":{"tf":1.0}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"l":{"df":2,"docs":{"112":{"tf":1.0},"123":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}},"v":{"df":9,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.449489742783178},"133":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":3.4641016151377544},"107":{"tf":2.449489742783178},"108":{"tf":1.7320508075688772},"131":{"tf":1.0},"133":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":2.23606797749979},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"108":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"105":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"104":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"m":{"df":1,"docs":{"72":{"tf":1.0}}},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"54":{"tf":1.0}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":23,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"8":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.0}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.0}}},"d":{"df":9,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"107":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"69":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":2.0},"143":{"tf":1.7320508075688772},"144":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903}}}}}}},"df":5,"docs":{"117":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"145":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"70":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}}}},"h":{"a":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"106":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"106":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":21,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"99":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":10,"docs":{"100":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":2.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"141":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"120":{"tf":1.0},"79":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"107":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"107":{"tf":2.0},"54":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"34":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"11":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"68":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"127":{"tf":1.0},"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"112":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"q":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"7":{"3":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"55":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"144":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"m":{"'":{"df":3,"docs":{"26":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":17,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"29":{"tf":2.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":2.6457513110645907},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"50":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"113":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":7,"docs":{"111":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.0},"37":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"122":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"102":{"tf":1.0}},"f":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"138":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"2":{"0":{"4":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"d":{"2":{"8":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"37":{"tf":1.0},"38":{"tf":1.7320508075688772}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"133":{"tf":1.4142135623730951},"16":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"131":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"106":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0}}}}}}},"x":{"df":2,"docs":{"102":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"98":{"tf":1.0}}}}},"b":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":17,"docs":{"111":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"144":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.0},"46":{"tf":2.0},"66":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":13,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}},"u":{"d":{"df":3,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"78":{"tf":1.0}},"e":{":":{":":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"1":{"1":{"5":{"2":{"0":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":16,"docs":{"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"132":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"59":{"tf":1.4142135623730951},"68":{"tf":1.0}},"n":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"100":{"tf":1.0}}}},"w":{"df":13,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"39":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":2.449489742783178}}}}},"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.7320508075688772}}}}}}},"t":{"df":20,"docs":{"100":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":2.8284271247461903},"73":{"tf":2.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.0},"91":{"tf":2.0},"93":{"tf":2.23606797749979},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"42":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":8,"docs":{"36":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":8,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":2.6457513110645907},"56":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"129":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"'":{"df":1,"docs":{"116":{"tf":1.0}}},".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"2":{"c":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}}}},"0":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":41,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":2.6457513110645907},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"13":{"tf":2.8284271247461903},"133":{"tf":2.0},"27":{"tf":1.0},"3":{"tf":1.7320508075688772},"36":{"tf":1.0},"42":{"tf":2.6457513110645907},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":2.6457513110645907},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"'":{"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.0}}},"df":20,"docs":{"0":{"tf":1.0},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"l":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"135":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":3.1622776601683795},"59":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":3.605551275463989},"58":{"tf":1.0},"59":{"tf":4.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":5,"docs":{"133":{"tf":1.0},"51":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"s":{"df":1,"docs":{"69":{"tf":2.23606797749979}}}},"u":{"df":6,"docs":{"105":{"tf":1.0},"34":{"tf":1.4142135623730951},"70":{"tf":1.0},"88":{"tf":2.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":6,"docs":{"122":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"109":{"tf":1.0},"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":20,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"122":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"109":{"tf":1.0},"113":{"tf":2.0},"114":{"tf":3.0},"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"20":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":18,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.7320508075688772},"55":{"tf":3.1622776601683795},"70":{"tf":1.0},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":2.8284271247461903},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":2.449489742783178},"34":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"111":{"tf":1.0},"126":{"tf":1.0},"68":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"99":{"tf":3.3166247903554}}}},"df":0,"docs":{}},"l":{"df":19,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"131":{"tf":1.0},"141":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"9":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"82":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":2.23606797749979},"54":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":2.23606797749979},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.0}}}},"c":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":3,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":24,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.4142135623730951},"138":{"tf":1.0},"145":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":2.8284271247461903},"36":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.449489742783178},"56":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"114":{"tf":1.7320508075688772},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":3,"docs":{"137":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.0}}},"df":11,"docs":{"11":{"tf":2.0},"111":{"tf":1.0},"12":{"tf":1.4142135623730951},"139":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":2.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"108":{"tf":2.0},"38":{"tf":1.0},"78":{"tf":2.449489742783178},"82":{"tf":2.449489742783178},"83":{"tf":2.449489742783178},"84":{"tf":2.449489742783178},"86":{"tf":2.449489742783178},"87":{"tf":2.449489742783178},"93":{"tf":2.0},"95":{"tf":2.0},"97":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"107":{"tf":1.7320508075688772},"68":{"tf":2.0},"96":{"tf":2.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"1":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":2.449489742783178},"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"84":{"tf":1.4142135623730951}},"g":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":2.449489742783178},"17":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"122":{"tf":1.0},"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"'":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":20,"docs":{"129":{"tf":1.4142135623730951},"135":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":2.6457513110645907},"44":{"tf":2.8284271247461903},"45":{"tf":2.6457513110645907},"46":{"tf":2.8284271247461903},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"20":{"tf":1.0},"75":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"20":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"56":{"tf":1.0}},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":32,"docs":{"102":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":2.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":1,"docs":{"111":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"m":{"3":{"df":1,"docs":{"75":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"131":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"o":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"75":{"tf":2.23606797749979}},"e":{"df":3,"docs":{"36":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":4.358898943540674},"64":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":16,"docs":{"1":{"tf":1.0},"129":{"tf":1.7320508075688772},"56":{"tf":1.0},"70":{"tf":3.7416573867739413},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"84":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"100":{"tf":2.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"98":{"tf":2.449489742783178},"99":{"tf":1.0}}}},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"36":{"tf":1.0},"55":{"tf":3.872983346207417},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.7320508075688772}}}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"100":{"tf":1.7320508075688772},"107":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"114":{"tf":1.0},"123":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"133":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"114":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"56":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"13":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"106":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"98":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}}},"df":3,"docs":{"108":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":2.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":2.0},"116":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":11,"docs":{"106":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.4142135623730951},"36":{"tf":1.0},"59":{"tf":3.1622776601683795},"64":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":24,"docs":{"1":{"tf":1.7320508075688772},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":2.23606797749979},"132":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"8":{"tf":2.23606797749979},"88":{"tf":2.449489742783178},"90":{"tf":2.0},"91":{"tf":1.7320508075688772},"93":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"84":{"tf":1.0}}},"t":{"df":6,"docs":{"1":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"119":{"tf":1.7320508075688772}}}}},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"111":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"111":{"tf":6.164414002968976}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"111":{"tf":3.4641016151377544}}}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"83":{"tf":2.23606797749979},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":7,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"137":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"114":{"tf":1.0}}}},"df":11,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":3.0},"54":{"tf":1.4142135623730951},"55":{"tf":4.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"123":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"125":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"3":{"tf":1.4142135623730951},"55":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"143":{"tf":1.4142135623730951}},"u":{"df":2,"docs":{"10":{"tf":1.0},"145":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"114":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"137":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":4,"docs":{"19":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"74":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":14,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.4142135623730951},"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"98":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"51":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":1,"docs":{"127":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"27":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"x":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"z":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"70":{"tf":3.3166247903554},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"128":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":1.0},"73":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"133":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"49":{"tf":1.0},"70":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":2.0}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":19,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"59":{"tf":3.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":3,"docs":{"31":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"107":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"98":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"70":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"d":{"b":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":5,"docs":{"107":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"111":{"tf":2.449489742783178},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"38":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"70":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"2":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":2.449489742783178},"67":{"tf":1.0}},"m":{"df":1,"docs":{"66":{"tf":1.0}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":2.8284271247461903},"59":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":14,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":7,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0},"52":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"44":{"tf":3.0},"46":{"tf":3.0},"63":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"123":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"143":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"42":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"111":{"tf":1.0}},"e":{"d":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"1":{"/":{"0":{"6":{"5":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":4,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":39,"docs":{"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":21,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":2.23606797749979},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"75":{"tf":2.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":1.0},"93":{"tf":2.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":29,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"116":{"tf":1.0},"123":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"125":{"tf":2.449489742783178},"126":{"tf":2.0},"127":{"tf":1.7320508075688772},"129":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"m":{"df":1,"docs":{"124":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}}},"r":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"100":{"tf":2.449489742783178},"101":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"111":{"tf":3.4641016151377544},"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"49":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.449489742783178}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":2.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"59":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"117":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"130":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"e":{"(":{"&":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":15,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.8284271247461903},"115":{"tf":1.7320508075688772},"116":{"tf":3.872983346207417},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"122":{"tf":1.0},"47":{"tf":1.0}}}}},"m":{"a":{"df":1,"docs":{"122":{"tf":2.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"15":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}}}},"df":5,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"g":{".":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"80":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"123":{"tf":1.0},"144":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"125":{"tf":1.0},"132":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":1,"docs":{"133":{"tf":1.0}}},"r":{"df":5,"docs":{"133":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":2.0},"93":{"tf":1.0},"95":{"tf":2.449489742783178}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"53":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"100":{"tf":1.0},"26":{"tf":1.0},"9":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772},"116":{"tf":2.23606797749979},"142":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":2,"docs":{"104":{"tf":1.0},"133":{"tf":1.0}}},"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"11":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"110":{"tf":1.4142135623730951},"112":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":4,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":2.23606797749979}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"12":{"tf":1.0},"53":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"110":{"tf":1.7320508075688772},"114":{"tf":2.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":1,"docs":{"113":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"111":{"tf":1.0}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"f":{"3":{"2":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"m":{"b":{"df":18,"docs":{"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"145":{"tf":1.4142135623730951},"16":{"tf":1.0},"19":{"tf":2.449489742783178},"36":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":2.449489742783178},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"135":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":36,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"109":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"12":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.6457513110645907},"13":{"tf":1.0},"130":{"tf":1.7320508075688772},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.23606797749979},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"95":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"114":{"tf":1.0},"140":{"tf":2.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"111":{"tf":1.0},"122":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"59":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.0},"63":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":27,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":28,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"111":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"55":{"tf":1.4142135623730951},"83":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"108":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":2.6457513110645907},"59":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"56":{"tf":2.0}}},"c":{"/":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":6,"docs":{"1":{"tf":1.7320508075688772},"100":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"106":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}},"t":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":2.23606797749979}},"u":{"df":3,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"36":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"116":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"119":{"tf":2.8284271247461903},"120":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":2.8284271247461903},"145":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"117":{"tf":1.0},"131":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"112":{"tf":1.0},"74":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"37":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"102":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":17,"docs":{"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}}},"y":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"f":{"3":{"2":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"3":{"c":{"1":{"9":{"5":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.0}}},"t":{"df":3,"docs":{"13":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"137":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"40":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772}}},"s":{"df":8,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}}},"q":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"69":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"127":{"tf":1.0},"70":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":2.0},"55":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"129":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":8,"docs":{"111":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"40":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"75":{"tf":1.0},"98":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":16,"docs":{"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":3.0},"59":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}}}},"d":{"df":18,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":2.23606797749979},"16":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"123":{"tf":1.0},"137":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"144":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"78":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"t":{"df":1,"docs":{"94":{"tf":1.0}}},"x":{"df":5,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"137":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"40":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":15,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"138":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.605551275463989},"58":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"n":{"df":28,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":4.58257569495584},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"1":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"13":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":2.23606797749979},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"82":{"tf":1.0}}}}}},"o":{"d":{"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"78":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.0},"59":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":5,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"132":{"tf":1.0},"58":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"144":{"tf":4.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":2.0},"73":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"|":{"c":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.0},"133":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"108":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"y":{"_":{"a":{":":{":":{"df":0,"docs":{},"k":{"1":{"0":{"0":{"df":9,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"13":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}}},"l":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":4,"docs":{"111":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":4,"docs":{"124":{"tf":1.0},"13":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":2.23606797749979},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"133":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"47":{"tf":1.0},"56":{"tf":1.0}}}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"9":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"115":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":11,"docs":{"109":{"tf":2.0},"110":{"tf":2.8284271247461903},"111":{"tf":5.0},"112":{"tf":3.605551275463989},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":2.23606797749979},"116":{"tf":2.23606797749979},"119":{"tf":1.0},"125":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"111":{"tf":2.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"98":{"tf":1.0}}}}}},"c":{"c":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"31":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":21,"docs":{"138":{"tf":2.23606797749979},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.7320508075688772},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":6.708203932499369},"64":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":4,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.7320508075688772},"113":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":22,"docs":{"111":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"19":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"104":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}}}},"df":4,"docs":{"104":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"20":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"124":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"143":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"110":{"tf":1.0},"3":{"tf":1.4142135623730951},"54":{"tf":1.0}}}},"df":25,"docs":{"106":{"tf":1.0},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"119":{"tf":1.0},"139":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"d":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}},"df":3,"docs":{"114":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}},"t":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":3.0}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"1":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"b":{"df":2,"docs":{"12":{"tf":1.0},"29":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":2.6457513110645907}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.7320508075688772}},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"6":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"d":{"df":3,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":3.0},"112":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"70":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"5":{"tf":1.0},"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"110":{"tf":1.0}}},"df":1,"docs":{"75":{"tf":1.0}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"131":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"69":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"m":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"122":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"129":{"tf":3.4641016151377544},"13":{"tf":1.4142135623730951},"133":{"tf":2.0},"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0}},"f":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.0}}},"l":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":26,"docs":{"10":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"13":{"tf":1.7320508075688772},"130":{"tf":1.0},"41":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"135":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":2.0}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.4142135623730951},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":4.47213595499958}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}},"t":{"df":1,"docs":{"8":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"p":{"df":6,"docs":{"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"3":{"tf":1.0}}}},"n":{"c":{"df":5,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"26":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}}},"df":23,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"84":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":7,"docs":{"107":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}}}}},"t":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"59":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":2,"docs":{"106":{"tf":1.0},"73":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"70":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"107":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"84":{"tf":1.0}}}},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},".":{"df":6,"docs":{"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"27":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"93":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"133":{"tf":1.0},"78":{"tf":1.4142135623730951}}}},"2":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":22,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.0},"88":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.23606797749979},"93":{"tf":2.8284271247461903},"94":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}},"3":{"2":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"111":{"tf":2.449489742783178}}},"d":{"df":6,"docs":{"34":{"tf":1.0},"37":{"tf":2.23606797749979},"38":{"tf":1.4142135623730951},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"93":{"tf":2.0}},"e":{"a":{"df":5,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"101":{"tf":1.0}},"i":{"df":1,"docs":{"101":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"s":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"112":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":2.0},"13":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":2.0},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.6457513110645907},"133":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"63":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":10,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"112":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"111":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"i":{"c":{"df":3,"docs":{"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}}}},"o":{"df":4,"docs":{"140":{"tf":1.0},"143":{"tf":2.23606797749979},"144":{"tf":2.0},"59":{"tf":1.7320508075688772}},"r":{"df":0,"docs":{},"m":{"df":13,"docs":{"100":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}},"s":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}}},"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.4142135623730951},"78":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":3,"docs":{"1":{"tf":1.0},"111":{"tf":2.8284271247461903},"125":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"105":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}},"n":{"c":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":18,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"130":{"tf":1.0},"141":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"120":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.7320508075688772},"29":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"111":{"tf":1.0},"112":{"tf":1.0}},"r":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"l":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}}},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"109":{"tf":1.0},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"37":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"86":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"36":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}},"n":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":3.605551275463989},"116":{"tf":2.23606797749979},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":2.449489742783178},"133":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"107":{"tf":1.7320508075688772},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"119":{"tf":1.0},"2":{"tf":1.0},"96":{"tf":1.0}},"t":{"df":7,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"109":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}}},"r":{"d":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"122":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":5,"docs":{"117":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"'":{"df":17,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"80":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"117":{"tf":1.0},"130":{"tf":1.0}}},"r":{"df":2,"docs":{"112":{"tf":1.0},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"101":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":5,"docs":{"141":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"k":{"1":{"0":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"/":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"107":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"124":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"102":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"74":{"tf":1.0},"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"d":{"df":3,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.4142135623730951},"20":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":4,"docs":{"119":{"tf":1.0},"133":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":9,"docs":{"49":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}},"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"137":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}},"v":{"df":6,"docs":{"122":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"84":{"tf":1.0}}}},"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":40,"docs":{"100":{"tf":2.449489742783178},"101":{"tf":2.23606797749979},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":3.3166247903554},"124":{"tf":2.0},"125":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.449489742783178},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":2.6457513110645907},"63":{"tf":2.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951},"69":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"98":{"tf":2.6457513110645907},"99":{"tf":1.7320508075688772}},"s":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":23,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"133":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"'":{"df":19,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.0},"70":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"116":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"13":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}},":":{":":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"104":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"109":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"116":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":10,"docs":{"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"99":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":16,"docs":{"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"36":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.8284271247461903},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.23606797749979},"98":{"tf":1.0}}},"k":{"df":4,"docs":{"20":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":13,"docs":{"135":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"33":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"74":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"39":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":8,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"79":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}}},"o":{"a":{"d":{"df":2,"docs":{"124":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"1":{"3":{"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":9,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"110":{"tf":2.0},"111":{"tf":1.0},"112":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"59":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"p":{"df":27,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.8284271247461903},"115":{"tf":2.449489742783178},"116":{"tf":1.7320508075688772},"124":{"tf":1.0},"54":{"tf":1.7320508075688772},"59":{"tf":2.6457513110645907},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"13":{"tf":1.0}}},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"t":{"df":9,"docs":{"117":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"w":{"df":9,"docs":{"10":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"111":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"2":{"c":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"2":{"c":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.4142135623730951},"15":{"tf":1.0},"92":{"tf":2.6457513110645907},"93":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":2.0},"55":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"55":{"tf":1.0}}},"3":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"5":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":1.0}}},"4":{"df":3,"docs":{"43":{"tf":1.0},"44":{"tf":2.0},"55":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"55":{"tf":1.0}}}},"7":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"a":{"c":{"df":2,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"o":{"df":3,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"31":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"132":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"104":{"tf":3.7416573867739413},"126":{"tf":1.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"/":{"1":{"0":{"0":{".":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"112":{"tf":1.0},"140":{"tf":1.7320508075688772}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":2.449489742783178},"115":{"tf":2.449489742783178},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"92":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":28,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"135":{"tf":1.0},"142":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"93":{"tf":1.0},"95":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":11,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":1,"docs":{"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"143":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951}}}}},"h":{"df":2,"docs":{"102":{"tf":1.0},"99":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":13,"docs":{"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"42":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"108":{"tf":2.449489742783178}}}},"df":1,"docs":{"108":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"'":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"df":7,"docs":{"42":{"tf":2.0},"43":{"tf":2.0},"45":{"tf":2.0},"56":{"tf":2.23606797749979},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":12,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"93":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.4142135623730951},"133":{"tf":1.0},"34":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"123":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"8":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"122":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"u":{"df":1,"docs":{"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"74":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"131":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"104":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":1,"docs":{"108":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"99":{"tf":1.0}}},"df":44,"docs":{"100":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"36":{"tf":3.1622776601683795},"42":{"tf":2.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":2.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.6457513110645907},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"70":{"tf":1.0},"72":{"tf":2.0},"73":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"108":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0}}}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}},"m":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"27":{"tf":1.0},"38":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":37,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":2.0},"119":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":2.0},"70":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":2.449489742783178},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},"/":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}}}}},"df":8,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"73":{"tf":2.8284271247461903},"74":{"tf":2.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"78":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":2,"docs":{"9":{"tf":1.0},"93":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}},"d":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}},"e":{":":{"=":{"\"":{"6":{"6":{"6":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"59":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}},"l":{"df":5,"docs":{"123":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":15,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.7320508075688772},"58":{"tf":1.0},"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"145":{"tf":1.0},"59":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":31,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"137":{"tf":1.0},"143":{"tf":1.0},"19":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"131":{"tf":1.0},"133":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"132":{"tf":2.6457513110645907}}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":8,"docs":{"104":{"tf":1.0},"106":{"tf":2.0},"111":{"tf":3.7416573867739413},"112":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}}}}}}},"s":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"p":{"4":{"3":{"0":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"109":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"119":{"tf":3.1622776601683795},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"127":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":25,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":2.6457513110645907},"102":{"tf":2.6457513110645907},"103":{"tf":2.6457513110645907},"104":{"tf":2.6457513110645907},"108":{"tf":2.23606797749979},"111":{"tf":2.8284271247461903},"112":{"tf":2.23606797749979},"115":{"tf":2.23606797749979},"116":{"tf":2.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"93":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"114":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"5":{"1":{"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}}},"2":{"8":{"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"81":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"104":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}},"b":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"'":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":2.6457513110645907},"141":{"tf":2.0},"142":{"tf":1.0},"144":{"tf":3.1622776601683795},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"116":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":23,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"73":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.0},"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":13,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}},"n":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":2.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":2.6457513110645907},"16":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":2.0},"39":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":3.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"36":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"x":{"df":5,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"40":{"tf":1.0},"78":{"tf":1.4142135623730951}},"e":{"df":16,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"36":{"tf":2.0},"55":{"tf":4.0},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"69":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":1.0}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":28,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"117":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.8284271247461903},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":5,"docs":{"111":{"tf":1.0},"120":{"tf":1.0},"56":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"5":{"1":{"8":{"2":{"2":{"_":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0}}},"2":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"1":{"df":1,"docs":{"121":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"8":{"3":{"3":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"111":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.23606797749979},"13":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"45":{"tf":2.0},"55":{"tf":2.0},"59":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":2.0},"107":{"tf":2.0},"54":{"tf":1.0},"98":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"96":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"108":{"tf":1.0},"123":{"tf":1.4142135623730951},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":7,"docs":{"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"144":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"c":{"df":13,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"139":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":40,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":2.0},"120":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":2.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"o":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"122":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"138":{"tf":1.0},"3":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"1":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"r":{"df":9,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"127":{"tf":1.0},"84":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"111":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"36":{"tf":1.0},"72":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"19":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"133":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"120":{"tf":1.0},"129":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"73":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.6457513110645907}}}}},"df":26,"docs":{"100":{"tf":2.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"125":{"tf":1.0},"126":{"tf":1.0},"142":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"111":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"112":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"111":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"49":{"tf":2.23606797749979},"50":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772}},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"26":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"7":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":7,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":9,"docs":{"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"y":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"t":{"df":16,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":1.0},"45":{"tf":2.449489742783178},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"132":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"70":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"108":{"tf":1.0},"26":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"93":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":3,"docs":{"129":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.0}}},"df":2,"docs":{"113":{"tf":1.0},"26":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"r":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"93":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":2.23606797749979},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":2.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}}},"k":{"df":1,"docs":{"82":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":2.0}}}},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"106":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"102":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":4,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":2.8284271247461903},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"df":5,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":12,"docs":{"114":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"69":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"2":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"100":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}}}}}}},"y":{"df":4,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},"df":3,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.0},"112":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"106":{"tf":1.0},"117":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"129":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":2,"docs":{"70":{"tf":1.0},"95":{"tf":1.0}},"g":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":3,"docs":{"27":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"100":{"tf":1.4142135623730951},"102":{"tf":2.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"119":{"tf":2.6457513110645907},"142":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"82":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"144":{"tf":1.0},"59":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"144":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"122":{"tf":1.0}}}},"p":{"df":3,"docs":{"73":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"109":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"7":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":2.0},"127":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"2":{"tf":1.0},"70":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"132":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"119":{"tf":1.4142135623730951},"133":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"37":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}},"s":{"df":5,"docs":{"113":{"tf":1.0},"114":{"tf":2.449489742783178},"123":{"tf":1.0},"125":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"20":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"13":{"tf":1.0},"137":{"tf":1.7320508075688772},"2":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"132":{"tf":1.0}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"106":{"tf":1.0},"142":{"tf":3.0},"143":{"tf":3.0},"144":{"tf":2.449489742783178},"36":{"tf":1.0},"40":{"tf":1.0},"59":{"tf":3.1622776601683795},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":2.8284271247461903}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":4,"docs":{"135":{"tf":1.0},"19":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"121":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772},"59":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"127":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"t":{"df":4,"docs":{"12":{"tf":1.0},"43":{"tf":2.449489742783178},"45":{"tf":2.449489742783178},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":39,"docs":{"1":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"54":{"tf":3.1622776601683795},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"61":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"133":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"106":{"tf":2.0},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"123":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"112":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":13,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":3.1622776601683795},"76":{"tf":1.4142135623730951},"88":{"tf":2.8284271247461903},"89":{"tf":2.23606797749979},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":21,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":2.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}}}}},"u":{"b":{"(":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"111":{"tf":2.8284271247461903},"114":{"tf":1.0},"116":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"64":{"tf":1.0}}},"df":1,"docs":{"73":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"117":{"tf":1.0}}},"s":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.4142135623730951}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"131":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"104":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"30":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":2.6457513110645907}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"q":{"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":1,"docs":{"74":{"tf":1.0}},"f":{"a":{"a":{"df":0,"docs":{},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}},"n":{"4":{"8":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"a":{"a":{"a":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":3.0},"101":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"111":{"tf":1.0},"47":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":16,"docs":{"108":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}},"0":{"df":2,"docs":{"137":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"102":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":6,"docs":{"122":{"tf":2.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"127":{"tf":1.0},"70":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"111":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"105":{"tf":1.0},"119":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"d":{"df":25,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"13":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.7320508075688772},"93":{"tf":3.1622776601683795},"94":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"133":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"63":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":9,"docs":{"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":2.23606797749979},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"139":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"114":{"tf":2.0}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"36":{"tf":1.0}},"u":{"c":{"df":2,"docs":{"112":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"114":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"137":{"tf":1.0},"144":{"tf":2.23606797749979},"59":{"tf":1.0},"92":{"tf":2.6457513110645907},"93":{"tf":2.8284271247461903},"94":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"121":{"tf":1.4142135623730951},"135":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"29":{"tf":1.0},"69":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"v":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"130":{"tf":1.4142135623730951},"56":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"107":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"104":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":5,"docs":{"132":{"tf":1.0},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951}}},"v":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"54":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"141":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":4,"docs":{"115":{"tf":1.0},"40":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"37":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"4":{"tf":1.7320508075688772},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":2.0},"4":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"116":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"111":{"tf":1.0},"13":{"tf":2.23606797749979},"2":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.0},"145":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":2.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.7320508075688772},"63":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"123":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"86":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":7,"docs":{"111":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"m":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"17":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"11":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"86":{"tf":2.23606797749979}}}}}}},"f":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":16,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951}}}},"o":{"a":{"d":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":16,"docs":{"54":{"tf":2.0},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.449489742783178},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":2.6457513110645907}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{"1":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":2,"docs":{"111":{"tf":3.4641016151377544},"62":{"tf":1.0}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"1":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}}},"s":{"df":2,"docs":{"135":{"tf":1.0},"19":{"tf":1.0}}},"t":{"c":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}},"df":2,"docs":{"54":{"tf":1.4142135623730951},"64":{"tf":1.0}},"o":{"df":1,"docs":{"12":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":7,"docs":{"106":{"tf":1.0},"54":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"95":{"tf":1.0},"98":{"tf":1.0}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"110":{"tf":1.0},"135":{"tf":1.0},"27":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951}}}},"n":{"df":16,"docs":{"112":{"tf":2.0},"119":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"c":{"df":2,"docs":{"17":{"tf":2.23606797749979},"55":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":30,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":2.0},"114":{"tf":1.0},"12":{"tf":2.23606797749979},"123":{"tf":1.7320508075688772},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":2.449489742783178},"135":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.0}}}}}}},"w":{"df":2,"docs":{"34":{"tf":2.0},"72":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"49":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":15,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"141":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"106":{"tf":1.0},"55":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.4142135623730951},"128":{"tf":1.0}}}},"w":{"df":1,"docs":{"88":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"l":{"df":1,"docs":{"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"111":{"tf":2.6457513110645907},"112":{"tf":1.7320508075688772}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"d":{"a":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"128":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"92":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":27,"docs":{"104":{"tf":2.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":2.449489742783178},"5":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"d":{"4":{"7":{"2":{"df":0,"docs":{},"e":{"1":{"6":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":4.123105625617661}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"n":{"d":{"df":16,"docs":{"123":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"126":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"98":{"tf":1.0}}},".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"g":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"1":{"6":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.7320508075688772},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":2.449489742783178},"42":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"92":{"tf":3.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":2.0}}}}},"t":{"df":4,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"122":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":20,"docs":{"1":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":3.872983346207417},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}},"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"v":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772}}}},"o":{"df":1,"docs":{"132":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"138":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0}}}}}}},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":39,"docs":{"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"116":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"121":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"92":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":1.0}}},"l":{"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}},"i":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":3,"docs":{"13":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"74":{"tf":1.7320508075688772}}}}},"df":3,"docs":{"139":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":9,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"n":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"106":{"tf":1.0},"42":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":2.0},"70":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":13,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"69":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"88":{"tf":1.4142135623730951}}},"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"139":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":17,"docs":{"10":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"119":{"tf":1.0},"133":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.0}}}}},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":1,"docs":{"30":{"tf":1.0}}}},"z":{"df":0,"docs":{},"e":{"df":5,"docs":{"110":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"69":{"tf":3.3166247903554}}}}},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":2.449489742783178}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"69":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"111":{"tf":2.449489742783178},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":10,"docs":{"109":{"tf":2.0},"110":{"tf":2.8284271247461903},"111":{"tf":5.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"119":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"o":{"c":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"118":{"tf":1.7320508075688772},"133":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"11":{"tf":1.0},"12":{"tf":1.0},"69":{"tf":2.449489742783178},"87":{"tf":1.7320508075688772},"97":{"tf":1.7320508075688772}}}},"v":{"df":3,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"120":{"tf":1.0},"132":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"121":{"tf":1.0},"133":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"111":{"tf":1.0},"133":{"tf":1.4142135623730951},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"112":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"98":{"tf":1.0}}}},"df":2,"docs":{"144":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"111":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":15,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"21":{"tf":1.7320508075688772},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"124":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.7320508075688772}},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"c":{"/":{"0":{"3":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.23606797749979}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"54":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"129":{"tf":1.4142135623730951},"144":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"112":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"76":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"142":{"tf":1.0}}},"t":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"54":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":3.1622776601683795},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"125":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"8":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.449489742783178}}}}}}},"i":{"c":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"69":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"u":{"df":4,"docs":{"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0}}}}},"d":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"141":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"75":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"59":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}},"df":11,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"143":{"tf":1.0},"92":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"&":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"125":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":2,"docs":{"59":{"tf":1.4142135623730951},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"80":{"tf":2.23606797749979},"86":{"tf":2.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":3.605551275463989},"112":{"tf":1.0},"116":{"tf":1.7320508075688772},"50":{"tf":1.0},"83":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"84":{"tf":1.0}}}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"=":{"=":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":8,"docs":{"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"o":{"df":5,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"127":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":2.0},"59":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}},"s":{"df":1,"docs":{"99":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":9,"docs":{"123":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"119":{"tf":1.7320508075688772}}}}}}}},"w":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":2.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"123":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"55":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"105":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"111":{"tf":3.0},"112":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"42":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":6,"docs":{"118":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"76":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"137":{"tf":2.0},"36":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"64":{"tf":1.0},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"90":{"tf":2.449489742783178},"91":{"tf":2.23606797749979},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"107":{"tf":1.0},"119":{"tf":3.1622776601683795},"133":{"tf":1.0},"61":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"13":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"116":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":9,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":6,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772}}}},"x":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"105":{"tf":1.0},"106":{"tf":1.7320508075688772},"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"31":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"3":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"55":{"tf":1.0}}}}}}},"t":{"a":{"df":2,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"q":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":13,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":1,"docs":{"123":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"15":{"tf":1.0},"76":{"tf":1.0}}}}}}}}}},"u":{"df":5,"docs":{"100":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"8":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":2.0}}},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":30,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":2.449489742783178},"128":{"tf":2.23606797749979},"133":{"tf":1.0},"141":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"r":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"0":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"116":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"0":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}},"1":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.449489742783178},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"123":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"131":{"tf":1.0}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"104":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":17,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.7320508075688772}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"p":{"df":9,"docs":{"111":{"tf":1.4142135623730951},"133":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.4142135623730951}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"130":{"tf":1.7320508075688772},"133":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"124":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"69":{"tf":2.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"144":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"k":{"df":6,"docs":{"107":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"128":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"135":{"tf":1.0},"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":2.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"122":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"85":{"tf":1.0}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}}}},"df":14,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":5,"docs":{"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":2.449489742783178},"73":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":20,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":4.242640687119285},"116":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}},"m":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}}},"o":{"df":22,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"54":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":2.0},"99":{"tf":1.0}}}},"x":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"8":{"df":3,"docs":{"111":{"tf":2.6457513110645907},"84":{"tf":1.4142135623730951},"93":{"tf":2.0}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":15,"docs":{"122":{"tf":2.0},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":3.605551275463989},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"b":{"df":1,"docs":{"59":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"135":{"tf":1.0},"27":{"tf":1.7320508075688772},"34":{"tf":1.0}}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"73":{"tf":1.0}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"36":{"tf":2.0},"54":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"3":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":4,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"42":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"99":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"119":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":57,"docs":{"102":{"tf":1.0},"106":{"tf":2.23606797749979},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"56":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"99":{"tf":1.0}}}},"b":{"df":11,"docs":{"129":{"tf":2.0},"13":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"56":{"tf":2.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":98,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"100":{"tf":3.3166247903554},"101":{"tf":3.4641016151377544},"102":{"tf":4.123105625617661},"103":{"tf":3.872983346207417},"104":{"tf":3.4641016151377544},"105":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":3.0},"109":{"tf":3.1622776601683795},"11":{"tf":1.4142135623730951},"111":{"tf":3.3166247903554},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":3.0},"115":{"tf":2.6457513110645907},"116":{"tf":4.69041575982343},"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":2.23606797749979},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"133":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":2.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":4.123105625617661},"61":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":2.0},"64":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":2.449489742783178},"68":{"tf":2.449489742783178},"69":{"tf":2.6457513110645907},"70":{"tf":2.8284271247461903},"73":{"tf":2.449489742783178},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":3.3166247903554},"8":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":3.0},"84":{"tf":2.6457513110645907},"86":{"tf":3.0},"87":{"tf":2.8284271247461903},"88":{"tf":2.6457513110645907},"89":{"tf":1.0},"9":{"tf":1.7320508075688772},"93":{"tf":3.1622776601683795},"94":{"tf":1.0},"95":{"tf":3.872983346207417},"97":{"tf":3.4641016151377544},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"129":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"111":{"tf":3.0},"69":{"tf":1.4142135623730951}},"e":{"]":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"0":{"tf":1.0},"129":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.4142135623730951},"70":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"'":{"df":1,"docs":{"78":{"tf":1.0}}},".":{"0":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":32,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":1.7320508075688772}}},"2":{"df":36,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":2.0},"84":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":2.23606797749979}}},"a":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":3.4641016151377544},"112":{"tf":2.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"59":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"]":{"[":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"29":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"110":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":2,"docs":{"104":{"tf":1.0},"116":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":3,"docs":{"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}},"i":{"df":12,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":8,"docs":{"29":{"tf":1.0},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"109":{"tf":2.23606797749979},"16":{"tf":3.0},"18":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":3.0},"68":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"i":{"a":{"df":14,"docs":{"111":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":1,"docs":{"38":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"106":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"20":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"84":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}},"y":{"df":18,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"100":{"tf":1.0},"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"41":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"r":{"df":2,"docs":{"109":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":1,"docs":{"67":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":15,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.0}}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":24,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"3":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"100":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.0},"7":{"tf":1.0}}},"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}}}},"o":{"_":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"i":{"_":{"a":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"102":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"80":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":8,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"55":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"104":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"8":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"r":{"d":{"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":39,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":10,"docs":{"0":{"tf":1.0},"123":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"111":{"tf":1.0},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"83":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":19,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"98":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"135":{"tf":1.0},"49":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"98":{"tf":1.0}}}}}}},"x":{"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"142":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"26":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"y":{"df":1,"docs":{"100":{"tf":1.0}}}},"y":{"df":9,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.6457513110645907},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"59":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}},"df":1,"docs":{"106":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"73":{"tf":1.0},"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}},"r":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}}}}}},"z":{"df":7,"docs":{"104":{"tf":2.6457513110645907},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"74":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"1":{"0":{"df":1,"docs":{"23":{"tf":1.0}}},"df":2,"docs":{"100":{"tf":1.0},"101":{"tf":1.0}}},"2":{"0":{".":{"0":{"4":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"122":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"c":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"2":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":3,"docs":{"29":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"144":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"65":{"tf":1.0},"67":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"51":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"40":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"78":{"tf":1.0},"84":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":7,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":1,"docs":{"11":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"107":{"tf":1.0},"68":{"tf":1.0},"96":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"129":{"tf":1.0},"70":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"98":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"141":{"tf":1.0},"145":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"137":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"137":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":1,"docs":{"127":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"139":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"m":{"a":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"85":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.0}},"e":{"d":{"df":5,"docs":{"118":{"tf":1.0},"130":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}},"n":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0}}}}},"d":{"b":{"df":2,"docs":{"138":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"130":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":1.0},"89":{"tf":1.0}}}}},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"131":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"61":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"50":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}},"i":{"2":{"c":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"37":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}}}}}}}},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"60":{"tf":1.0},"63":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"110":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"143":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"0":{"df":1,"docs":{"46":{"tf":1.0}}},"4":{"df":1,"docs":{"44":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"121":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"73":{"tf":1.0},"74":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"38":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"119":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"81":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"71":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"116":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":1,"docs":{"29":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"f":{"5":{"1":{"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}}},"2":{"8":{"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":1,"docs":{"105":{"tf":1.0}},"s":{"df":1,"docs":{"21":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}},"p":{"a":{"c":{"df":1,"docs":{"49":{"tf":1.0}},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"144":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"124":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"m":{"df":1,"docs":{"124":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"53":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"128":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"130":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"t":{"c":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"27":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"78":{"tf":1.0},"80":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"o":{"df":1,"docs":{"132":{"tf":1.0}}}}},"t":{"df":1,"docs":{"14":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"80":{"tf":1.0},"86":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}}}}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"100":{"tf":1.0},"102":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"64":{"tf":1.0},"79":{"tf":1.0},"94":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"128":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"134":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"s":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"138":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}}}},"v":{"1":{"df":1,"docs":{"45":{"tf":1.0}}},"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"117":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"124":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"28":{"tf":1.0},"75":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"58":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"81":{"tf":1.0},"83":{"tf":1.0}}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/microbit/searchindex.json b/microbit/searchindex.json new file mode 100644 index 000000000..e995601e6 --- /dev/null +++ b/microbit/searchindex.json @@ -0,0 +1 @@ +{"doc_urls":["index.html#discovery","index.html#scope","index.html#approach","index.html#non-goals","index.html#reporting-problems","index.html#other-embedded-rust-resources","01-background/index.html#background","01-background/index.html#whats-a-microcontroller","01-background/index.html#what-can-you-do-with-a-microcontroller","01-background/index.html#when-should-i-use-a-microcontroller","01-background/index.html#when-should-i--not--use-a-microcontroller","01-background/index.html#why-use-rust-and-not-c","01-background/index.html#why-should-i-not-use-rust","02-requirements/index.html#hardwareknowledge-requirements","03-setup/index.html#setting-up-a-development-environment","03-setup/index.html#documentation","03-setup/index.html#tools","03-setup/index.html#rustc--cargo","03-setup/index.html#cargo-binutils","03-setup/index.html#cargo-embed","03-setup/index.html#this-repository","03-setup/index.html#os-specific-instructions","03-setup/linux.html#linux","03-setup/linux.html#ubuntu-2004-or-newer--debian-10-or-newer","03-setup/linux.html#fedora-32-or-newer","03-setup/linux.html#arch-linux","03-setup/linux.html#other-distros","03-setup/linux.html#udev-rules","03-setup/windows.html#windows","03-setup/windows.html#arm-none-eabi-gdb","03-setup/windows.html#putty","03-setup/macos.html#macos","03-setup/verify.html#verify-the-installation","03-setup/verify.html#linux-only","03-setup/verify.html#verify-permissions","03-setup/verify.html#all","03-setup/verify.html#verifying-cargo-embed","03-setup/IDE.html#getting-the-most-out-of-your-ide","03-setup/IDE.html#auto-completion-type-annotation-and-more","03-setup/IDE.html#ide-configuration","03-setup/IDE.html#how-to-build-with-intellij","04-meet-your-hardware/index.html#meet-your-hardware","04-meet-your-hardware/index.html#microbit","04-meet-your-hardware/microbit-v2.html#nordic-nrf52833-the-nrf52-microbit-v2","04-meet-your-hardware/microbit-v2.html#arm-cortex-m4","04-meet-your-hardware/microbit-v1.html#nordic-nrf51822-the-nrf51-microbit-v1","04-meet-your-hardware/microbit-v1.html#arm-cortex-m0","04-meet-your-hardware/terminology.html#rust-embedded-terminology","04-meet-your-hardware/terminology.html#abstraction-layers","04-meet-your-hardware/terminology.html#peripheral-access-crate-pac","04-meet-your-hardware/terminology.html#the-hardware-abstraction-layer-hal","04-meet-your-hardware/terminology.html#the-board-support-crate-historically-called-board-support-package-or-bsp","04-meet-your-hardware/terminology.html#unifying-the-layers","04-meet-your-hardware/terminology.html#further-reading","05-led-roulette/index.html#led-roulette","05-led-roulette/build-it.html#build-it","05-led-roulette/flash-it.html#flash-it","05-led-roulette/debug-it.html#debug-it","05-led-roulette/debug-it.html#how-does-this-even-work","05-led-roulette/debug-it.html#lets-debug","05-led-roulette/light-it-up.html#light-it-up","05-led-roulette/light-it-up.html#embedded-hal","05-led-roulette/light-it-up.html#the-microbit-leds","05-led-roulette/light-it-up.html#actually-lighting-it-up","05-led-roulette/light-it-up.html#testing-it","05-led-roulette/it-blinks.html#it-blinks","05-led-roulette/it-blinks.html#delaying","05-led-roulette/it-blinks.html#blinking","05-led-roulette/the-challenge.html#the-challenge","05-led-roulette/my-solution.html#my-solution","06-serial-communication/index.html#serial-communication","06-serial-communication/nix-tooling.html#nix-tooling","06-serial-communication/nix-tooling.html#connecting-the-microbit-board","06-serial-communication/nix-tooling.html#minicom","06-serial-communication/nix-tooling.html#minicom-commands","06-serial-communication/windows-tooling.html#windows-tooling","07-uart/index.html#uart","07-uart/index.html#setup","07-uart/send-a-single-byte.html#send-a-single-byte","07-uart/send-a-single-byte.html#testing-it","07-uart/send-a-string.html#send-a-string","07-uart/naive-approch-write.html#naive-approach-and-write","07-uart/naive-approch-write.html#naive-approach","07-uart/naive-approch-write.html#write-and-corefmtwrite","07-uart/receive-a-single-byte.html#receive-a-single-byte","07-uart/echo-server.html#echo-server","07-uart/reverse-a-string.html#reverse-a-string","07-uart/my-solution.html#my-solution","08-i2c/index.html#i2c","08-i2c/the-general-protocol.html#general-protocol","08-i2c/the-general-protocol.html#controller---target","08-i2c/the-general-protocol.html#controller---target-1","08-i2c/lsm303agr.html#lsm303agr","08-i2c/read-a-single-register.html#read-a-single-register","08-i2c/read-a-single-register.html#testing-it","08-i2c/using-a-driver.html#using-a-driver","08-i2c/the-challenge.html#the-challenge","08-i2c/my-solution.html#my-solution","09-led-compass/index.html#led-compass","09-led-compass/calibration.html#calibration","09-led-compass/take-1.html#take-1","09-led-compass/solution-1.html#solution-1","09-led-compass/take-2.html#take-2","09-led-compass/solution-2.html#solution-2","09-led-compass/magnitude.html#magnitude","10-punch-o-meter/index.html#punch-o-meter","10-punch-o-meter/gravity-is-up.html#gravity-is-up","10-punch-o-meter/the-challenge.html#the-challenge","10-punch-o-meter/my-solution.html#my-solution","11-snake-game/index.html#snake-game","11-snake-game/game-logic.html#game-logic","11-snake-game/game-logic.html#the-game-module","11-snake-game/game-logic.html#the-main-file","11-snake-game/controls.html#controls","11-snake-game/controls.html#the-controls-module","11-snake-game/controls.html#updating-the-main-file","11-snake-game/nonblocking-display.html#using-the-non-blocking-display","explore.html#whats-left-for-you-to-explore","explore.html#topics-about-embedded-software","explore.html#multitasking","explore.html#sleeping","explore.html#topics-related-to-microcontroller-capabilities","explore.html#direct-memory-access-dma","explore.html#interrupts","explore.html#pulse-width-modulation-pwm","explore.html#digital-inputs","explore.html#analog-to-digital-converters-adc","explore.html#digital-to-analog-converters-dac","explore.html#real-time-clock-rtc","explore.html#other-communication-protocols","explore.html#general-embedded-relevant-topics","explore.html#gyroscopes","explore.html#servo-and-stepper-motors","explore.html#sensor-fusion","appendix/1-general-troubleshooting/index.html#general-troubleshooting","appendix/1-general-troubleshooting/index.html#cargo-embed-problems","appendix/1-general-troubleshooting/index.html#cargo-problems","appendix/1-general-troubleshooting/index.html#cant-find-crate-for-core","appendix/2-how-to-use-gdb/index.html#how-to-use-gdb","appendix/2-how-to-use-gdb/index.html#general-debugging","appendix/2-how-to-use-gdb/index.html#dealing-with-breakpoints","appendix/2-how-to-use-gdb/index.html#controlling-execution","appendix/2-how-to-use-gdb/index.html#printing-information","appendix/2-how-to-use-gdb/index.html#looking-at-the-symbol-table","appendix/2-how-to-use-gdb/index.html#poking-around-the-program-stack","appendix/2-how-to-use-gdb/index.html#controlling-cargo-embed-remotely"],"index":{"documentStore":{"docInfo":{"0":{"body":18,"breadcrumbs":2,"title":1},"1":{"body":59,"breadcrumbs":2,"title":1},"10":{"body":34,"breadcrumbs":3,"title":2},"100":{"body":222,"breadcrumbs":6,"title":2},"101":{"body":138,"breadcrumbs":6,"title":2},"102":{"body":206,"breadcrumbs":6,"title":2},"103":{"body":161,"breadcrumbs":6,"title":2},"104":{"body":215,"breadcrumbs":4,"title":1},"105":{"body":48,"breadcrumbs":6,"title":3},"106":{"body":152,"breadcrumbs":7,"title":2},"107":{"body":113,"breadcrumbs":5,"title":1},"108":{"body":165,"breadcrumbs":5,"title":1},"109":{"body":123,"breadcrumbs":4,"title":2},"11":{"body":51,"breadcrumbs":4,"title":3},"110":{"body":66,"breadcrumbs":6,"title":2},"111":{"body":998,"breadcrumbs":6,"title":2},"112":{"body":269,"breadcrumbs":6,"title":2},"113":{"body":39,"breadcrumbs":4,"title":1},"114":{"body":345,"breadcrumbs":5,"title":2},"115":{"body":119,"breadcrumbs":6,"title":3},"116":{"body":343,"breadcrumbs":9,"title":4},"117":{"body":40,"breadcrumbs":6,"title":3},"118":{"body":21,"breadcrumbs":6,"title":3},"119":{"body":106,"breadcrumbs":4,"title":1},"12":{"body":51,"breadcrumbs":3,"title":2},"120":{"body":56,"breadcrumbs":4,"title":1},"121":{"body":21,"breadcrumbs":7,"title":4},"122":{"body":62,"breadcrumbs":7,"title":4},"123":{"body":82,"breadcrumbs":4,"title":1},"124":{"body":100,"breadcrumbs":7,"title":4},"125":{"body":48,"breadcrumbs":5,"title":2},"126":{"body":46,"breadcrumbs":7,"title":4},"127":{"body":37,"breadcrumbs":7,"title":4},"128":{"body":27,"breadcrumbs":7,"title":4},"129":{"body":133,"breadcrumbs":5,"title":2},"13":{"body":186,"breadcrumbs":4,"title":2},"130":{"body":13,"breadcrumbs":7,"title":4},"131":{"body":49,"breadcrumbs":4,"title":1},"132":{"body":48,"breadcrumbs":6,"title":3},"133":{"body":198,"breadcrumbs":5,"title":2},"134":{"body":0,"breadcrumbs":4,"title":2},"135":{"body":41,"breadcrumbs":5,"title":3},"136":{"body":0,"breadcrumbs":4,"title":2},"137":{"body":94,"breadcrumbs":6,"title":4},"138":{"body":17,"breadcrumbs":4,"title":2},"139":{"body":32,"breadcrumbs":4,"title":2},"14":{"body":16,"breadcrumbs":8,"title":4},"140":{"body":94,"breadcrumbs":4,"title":2},"141":{"body":66,"breadcrumbs":4,"title":2},"142":{"body":100,"breadcrumbs":4,"title":2},"143":{"body":70,"breadcrumbs":5,"title":3},"144":{"body":83,"breadcrumbs":6,"title":4},"145":{"body":8,"breadcrumbs":6,"title":4},"15":{"body":16,"breadcrumbs":5,"title":1},"16":{"body":80,"breadcrumbs":5,"title":1},"17":{"body":32,"breadcrumbs":6,"title":2},"18":{"body":17,"breadcrumbs":6,"title":2},"19":{"body":34,"breadcrumbs":6,"title":2},"2":{"body":38,"breadcrumbs":2,"title":1},"20":{"body":37,"breadcrumbs":5,"title":1},"21":{"body":9,"breadcrumbs":7,"title":3},"22":{"body":6,"breadcrumbs":6,"title":1},"23":{"body":18,"breadcrumbs":11,"title":6},"24":{"body":16,"breadcrumbs":8,"title":3},"25":{"body":22,"breadcrumbs":7,"title":2},"26":{"body":70,"breadcrumbs":6,"title":1},"27":{"body":44,"breadcrumbs":7,"title":2},"28":{"body":0,"breadcrumbs":6,"title":1},"29":{"body":33,"breadcrumbs":9,"title":4},"3":{"body":64,"breadcrumbs":3,"title":2},"30":{"body":11,"breadcrumbs":6,"title":1},"31":{"body":21,"breadcrumbs":6,"title":1},"32":{"body":5,"breadcrumbs":8,"title":2},"33":{"body":0,"breadcrumbs":7,"title":1},"34":{"body":77,"breadcrumbs":8,"title":2},"35":{"body":0,"breadcrumbs":6,"title":0},"36":{"body":154,"breadcrumbs":9,"title":3},"37":{"body":34,"breadcrumbs":10,"title":3},"38":{"body":42,"breadcrumbs":12,"title":5},"39":{"body":19,"breadcrumbs":9,"title":2},"4":{"body":10,"breadcrumbs":3,"title":2},"40":{"body":54,"breadcrumbs":9,"title":2},"41":{"body":5,"breadcrumbs":4,"title":2},"42":{"body":89,"breadcrumbs":3,"title":1},"43":{"body":207,"breadcrumbs":9,"title":5},"44":{"body":125,"breadcrumbs":7,"title":3},"45":{"body":209,"breadcrumbs":9,"title":5},"46":{"body":125,"breadcrumbs":7,"title":3},"47":{"body":12,"breadcrumbs":8,"title":3},"48":{"body":12,"breadcrumbs":7,"title":2},"49":{"body":34,"breadcrumbs":9,"title":4},"5":{"body":22,"breadcrumbs":4,"title":3},"50":{"body":37,"breadcrumbs":9,"title":4},"51":{"body":45,"breadcrumbs":14,"title":9},"52":{"body":82,"breadcrumbs":7,"title":2},"53":{"body":20,"breadcrumbs":7,"title":2},"54":{"body":282,"breadcrumbs":4,"title":2},"55":{"body":536,"breadcrumbs":4,"title":1},"56":{"body":231,"breadcrumbs":4,"title":1},"57":{"body":0,"breadcrumbs":4,"title":1},"58":{"body":67,"breadcrumbs":5,"title":2},"59":{"body":755,"breadcrumbs":5,"title":2},"6":{"body":0,"breadcrumbs":2,"title":1},"60":{"body":0,"breadcrumbs":6,"title":2},"61":{"body":30,"breadcrumbs":6,"title":2},"62":{"body":81,"breadcrumbs":6,"title":2},"63":{"body":177,"breadcrumbs":7,"title":3},"64":{"body":64,"breadcrumbs":5,"title":1},"65":{"body":0,"breadcrumbs":4,"title":1},"66":{"body":178,"breadcrumbs":4,"title":1},"67":{"body":89,"breadcrumbs":4,"title":1},"68":{"body":116,"breadcrumbs":4,"title":1},"69":{"body":541,"breadcrumbs":4,"title":1},"7":{"body":30,"breadcrumbs":3,"title":2},"70":{"body":285,"breadcrumbs":4,"title":2},"71":{"body":0,"breadcrumbs":6,"title":2},"72":{"body":85,"breadcrumbs":7,"title":3},"73":{"body":164,"breadcrumbs":5,"title":1},"74":{"body":43,"breadcrumbs":6,"title":2},"75":{"body":139,"breadcrumbs":6,"title":2},"76":{"body":44,"breadcrumbs":2,"title":1},"77":{"body":29,"breadcrumbs":2,"title":1},"78":{"body":295,"breadcrumbs":7,"title":3},"79":{"body":54,"breadcrumbs":5,"title":1},"8":{"body":94,"breadcrumbs":2,"title":1},"80":{"body":23,"breadcrumbs":5,"title":2},"81":{"body":0,"breadcrumbs":7,"title":3},"82":{"body":90,"breadcrumbs":6,"title":2},"83":{"body":107,"breadcrumbs":6,"title":2},"84":{"body":151,"breadcrumbs":7,"title":3},"85":{"body":27,"breadcrumbs":5,"title":2},"86":{"body":131,"breadcrumbs":5,"title":2},"87":{"body":94,"breadcrumbs":3,"title":1},"88":{"body":158,"breadcrumbs":2,"title":1},"89":{"body":17,"breadcrumbs":5,"title":2},"9":{"body":133,"breadcrumbs":3,"title":2},"90":{"body":55,"breadcrumbs":5,"title":2},"91":{"body":53,"breadcrumbs":5,"title":2},"92":{"body":107,"breadcrumbs":3,"title":1},"93":{"body":310,"breadcrumbs":7,"title":3},"94":{"body":31,"breadcrumbs":5,"title":1},"95":{"body":250,"breadcrumbs":5,"title":2},"96":{"body":57,"breadcrumbs":3,"title":1},"97":{"body":146,"breadcrumbs":3,"title":1},"98":{"body":108,"breadcrumbs":4,"title":2},"99":{"body":124,"breadcrumbs":4,"title":1}},"docs":{"0":{"body":"Discover the world of microcontrollers through Rust ! This book is an introductory course on microcontroller-based embedded systems that uses Rust as the teaching language rather than the usual C/C++.","breadcrumbs":"Introduction » Discovery","id":"0","title":"Discovery"},"1":{"body":"The following topics will be covered (eventually, I hope): How to write, build, flash and debug an \"embedded\" (Rust) program. Functionality (\"peripherals\") commonly found in microcontrollers: Digital input and output, Pulse Width Modulation (PWM), Analog to Digital Converters (ADC), common communication protocols like Serial, I2C and SPI, etc. Multitasking concepts: cooperative vs preemptive multitasking, interrupts, schedulers, etc. Control systems concepts: sensors, calibration, digital filters, actuators, open loop control, closed loop control, etc.","breadcrumbs":"Introduction » Scope","id":"1","title":"Scope"},"10":{"body":"Where heavy computations are involved. To keep their power consumption low, microcontrollers have very limited computational resources available to them. For example, some microcontrollers don't even have hardware support for floating point operations. On those devices, performing a simple addition of single precision numbers can take hundreds of CPU cycles.","breadcrumbs":"Background » When should I not use a microcontroller?","id":"10","title":"When should I not use a microcontroller?"},"100":{"body":"What's the simplest way in which we can implement the LED compass, even if it's not perfect? For starters, we'd only care about the X and Y components of the magnetic field because when you look at a compass you always hold it in horizontal position and thus the compass is in the XY plane. If we only looked at the signs of the X and Y components we could determine to which quadrant the magnetic field belongs to. Now the question of course is which direction (north, north-east, etc.) do the 4 quadrants represent. In order to figure this out we can just rotate the micro:bit and observe how the quadrant changes whenever we point in another direction. After experimenting a bit we can find out that if we point the micro:bit in e.g. north-east direction, both the X and the Y component are always positive. Based on this information you should be able to figure out which direction the other quadrants represent. Once you figured out the relation between quadrant and direction you should be able to complete the template from below. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse led::Direction; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); let dir = match (data.x > 0, data.y > 0) { // Quadrant ??? (true, true) => Direction::NorthEast, // Quadrant ??? (false, true) => panic!(\"TODO\"), // Quadrant ??? (false, false) => panic!(\"TODO\"), // Quadrant ??? (true, false) => panic!(\"TODO\"), }; // use the led module to turn the direction into an LED arrow // and the led display functions from chapter 5 to display the // arrow }\n}","breadcrumbs":"LED compass » Take 1 » Take 1","id":"100","title":"Take 1"},"101":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse crate::led::Direction;\nuse crate::led::direction_to_led; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); let dir = match (data.x > 0, data.y > 0) { // Quadrant I (true, true) => Direction::NorthEast, // Quadrant II (false, true) => Direction::NorthWest, // Quadrant III (false, false) => Direction::SouthWest, // Quadrant IV (true, false) => Direction::SouthEast, }; // use the led module to turn the direction into an LED arrow // and the led display functions from chapter 5 to display the // arrow display.show(&mut timer, direction_to_led(dir), 100); }\n}","breadcrumbs":"LED compass » Solution 1 » Solution 1","id":"101","title":"Solution 1"},"102":{"body":"This time, we'll use math to get the precise angle that the magnetic field forms with the X and Y axes of the magnetometer. We'll use the atan2 function. This function returns an angle in the -PI to PI range. The graphic below shows how this angle is measured: Although not explicitly shown in this graph the X axis points to the right and the Y axis points up. Here's the starter code. theta, in radians, has already been computed. You need to pick which LED to turn on based on the value of theta. #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse crate::led::Direction;\nuse crate::led::direction_to_led; // You'll find this useful ;-)\nuse core::f32::consts::PI;\nuse libm::atan2f; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); // use libm's atan2f since this isn't in core yet let theta = atan2f(data.y as f32, data.x as f32); // Figure out the direction based on theta let dir = Direction::NorthEast; display.show(&mut timer, direction_to_led(dir), 100); }\n} Suggestions/tips: A whole circle rotation equals 360 degrees. PI radians is equivalent to 180 degrees. If theta was zero, which direction are you pointing at? If theta was, instead, very close to zero, which direction are you pointing at? If theta kept increasing, at what value would you change the direction","breadcrumbs":"LED compass » Take 2 » Take 2","id":"102","title":"Take 2"},"103":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; mod led;\nuse crate::led::Direction;\nuse crate::led::direction_to_led; // You'll find this useful ;-)\nuse core::f32::consts::PI;\nuse libm::atan2f; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); // use libm's atan2f since this isn't in core yet let theta = atan2f(data.y as f32, data.x as f32); // Figure out the direction based on theta let dir = if theta < -7. * PI / 8. { Direction::West } else if theta < -5. * PI / 8. { Direction::SouthWest } else if theta < -3. * PI / 8. { Direction::South } else if theta < -PI / 8. { Direction::SouthEast } else if theta < PI / 8. { Direction::East } else if theta < 3. * PI / 8. { Direction::NorthEast } else if theta < 5. * PI / 8. { Direction::North } else if theta < 7. * PI / 8. { Direction::NorthWest } else { Direction::West }; display.show(&mut timer, direction_to_led(dir), 100); }\n}","breadcrumbs":"LED compass » Solution 2 » Solution 2","id":"103","title":"Solution 2"},"104":{"body":"We have been working with the direction of the magnetic field but what is its real magnitude? According to the documentation about the mag_data() function the x y z values we are getting are in nanotesla. That means the only thing we have to compute in order to get the magnitude of the magnetic field in nanotesla is the magnitude of the 3D vector that our x y z values describe. As you might remember from school this is simply: // core doesn't have this function yet so we use libm, just like with\n// atan2f from before.\nuse libm::sqrtf;\nlet magnitude = sqrtf(x * x + y * y + z * z); Putting all this together in a program: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_rtt_target as _;\nuse rtt_target::{rprintln, rtt_init_print}; mod calibration;\nuse crate::calibration::calc_calibration;\nuse crate::calibration::calibrated_measurement; use libm::sqrtf; use microbit::{display::blocking::Display, hal::Timer}; #[cfg(feature = \"v1\")]\nuse microbit::{hal::twi, pac::twi0::frequency::FREQUENCY_A}; #[cfg(feature = \"v2\")]\nuse microbit::{hal::twim, pac::twim0::frequency::FREQUENCY_A}; use lsm303agr::{AccelOutputDataRate, Lsm303agr, MagOutputDataRate}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz10).unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz10).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); let calibration = calc_calibration(&mut sensor, &mut display, &mut timer); rprintln!(\"Calibration: {:?}\", calibration); rprintln!(\"Calibration done, entering busy loop\"); loop { while !sensor.mag_status().unwrap().xyz_new_data {} let mut data = sensor.mag_data().unwrap(); data = calibrated_measurement(data, &calibration); let x = data.x as f32; let y = data.y as f32; let z = data.z as f32; let magnitude = sqrtf(x * x + y * y + z * z); rprintln!(\"{} nT, {} mG\", magnitude, magnitude/100.0); }\n} This program will report the magnitude (strength) of the magnetic field in nanotesla (nT) and milligauss (mG). The magnitude of the Earth's magnetic field is in the range of 250 mG to 650 mG (the magnitude varies depending on your geographical location) so you should see a value in that range or close to that range -- I see a magnitude of around 340 mG. Some questions: Without moving the board, what value do you see? Do you always see the same value? If you rotate the board, does the magnitude change? Should it change?","breadcrumbs":"LED compass » Magnitude » Magnitude","id":"104","title":"Magnitude"},"105":{"body":"In this section we'll be playing with the accelerometer that's in the board. What are we building this time? A punch-o-meter! We'll be measuring the power of your jabs. Well, actually the maximum acceleration that you can reach because acceleration is what accelerometers measure. Strength and acceleration are proportional though so it's a good approximation. As we already know from previous chapters the accelerometer is built inside the LSM303AGR package. And just like the magnetometer, it is accessible using the I2C bus. It also has the same coordinate system as the magnetometer.","breadcrumbs":"Punch-o-meter » Punch-o-meter","id":"105","title":"Punch-o-meter"},"106":{"body":"What's the first thing we'll do? Perform a sanity check! You should already be able to write a program that continuously prints the accelerometer data on the RTT console from the I2C chapter . Do you observe something interesting even when holding the board parallel to the floor with the LED side facing down? What you should see like this is that both the X and Y values are rather close to 0, while the Z value is at around 1000. Which is weird because the board is not moving yet its acceleration is non-zero. What's going on? This must be related to the gravity, right? Because the acceleration of gravity is 1 g (aha, 1 g = 1000 from the accelerometer). But the gravity pulls objects downwards so the acceleration along the Z axis should be negative not positive Did the program get the Z axis backwards? Nope, you can test rotating the board to align the gravity to the X or Y axis but the acceleration measured by the accelerometer is always pointing up. What happens here is that the accelerometer is measuring the proper acceleration of the board not the acceleration you are observing. This proper acceleration is the acceleration of the board as seen from an observer that's in free fall. An observer that's in free fall is moving toward the center of the Earth with an acceleration of 1g; from its point of view the board is actually moving upwards (away from the center of the Earth) with an acceleration of 1g. And that's why the proper acceleration is pointing up. This also means that if the board was in free fall, the accelerometer would report a proper acceleration of zero. Please, don't try that at home. Yes, physics is hard. Let's move on.","breadcrumbs":"Punch-o-meter » Gravity is up? » Gravity is up?","id":"106","title":"Gravity is up?"},"107":{"body":"To keep things simple, we'll measure the acceleration only in the X axis while the board remains horizontal. That way we won't have to deal with subtracting that fictitious 1g we observed before which would be hard because that 1g could have X Y Z components depending on how the board is oriented. Here's what the punch-o-meter must do: By default, the app is not \"observing\" the acceleration of the board. When a significant X acceleration is detected (i.e. the acceleration goes above some threshold), the app should start a new measurement. During that measurement interval, the app should keep track of the maximum acceleration observed After the measurement interval ends, the app must report the maximum acceleration observed. You can report the value using the rprintln! macro. Give it a try and let me know how hard you can punch ;-). NOTE There are two additional APIs that should be useful for this task we haven't discussed yet. First the set_accel_scale one which you need to measure high g values. Secondly the Countdown trait from embedded_hal. If you decide to use this to keep your measurement intervals you will have to pattern match on the nb::Result type instead of using the block! macro we have seen in previous chapters.","breadcrumbs":"Punch-o-meter » The challenge » The challenge","id":"107","title":"The challenge"},"108":{"body":"#![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A,\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A,\n}; use lsm303agr::{ AccelScale, AccelOutputDataRate, Lsm303agr,\n}; use microbit::hal::timer::Timer;\nuse microbit::hal::prelude::*;\nuse nb::Error; #[entry]\nfn main() -> ! { const THRESHOLD: f32 = 0.5; rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut countdown = Timer::new(board.TIMER0); let mut delay = Timer::new(board.TIMER1); let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); // Allow the sensor to measure up to 16 G since human punches // can actually be quite fast sensor.set_accel_scale(AccelScale::G16).unwrap(); let mut max_g = 0.; let mut measuring = false; loop { while !sensor.accel_status().unwrap().xyz_new_data {} // x acceleration in g let g_x = sensor.accel_data().unwrap().x as f32 / 1000.0; if measuring { // Check the status of our contdown match countdown.wait() { // countdown isn't done yet Err(Error::WouldBlock) => { if g_x > max_g { max_g = g_x; } }, // Countdown is done Ok(_) => { // Report max value rprintln!(\"Max acceleration: {}g\", max_g); // Reset max_g = 0.; measuring = false; }, // Since the nrf52 and nrf51 HAL have Void as an error type // this path cannot occur, as Void is an empty type Err(Error::Other(_)) => { unreachable!() } } } else { // If acceleration goes above a threshold, we start measuring if g_x > THRESHOLD { rprintln!(\"START!\"); measuring = true; max_g = g_x; // The documentation notes that the timer works at a frequency // of 1 Mhz, so in order to wait for 1 second we have to // set it to 1_000_000 ticks. countdown.start(1_000_000_u32); } } delay.delay_ms(20_u8); }\n}","breadcrumbs":"Punch-o-meter » My solution » My solution","id":"108","title":"My solution"},"109":{"body":"We're now going to implement a basic snake game that you can play on a micro:bit v2 using its 5x5 LED matrix as a display and its two buttons as controls. In doing so, we will build on some of the concepts covered in the earlier chapters of this book, and also learn about some new peripherals and concepts. In particular, we will be using the concept of hardware interrupts to allow our program to interact with multiple peripherals at once. Interrupts are a common way to implement concurrency in embedded contexts. There is a good introduction to concurrency in an embedded context in the Embedded Rust Book that I suggest you read through before proceeding. NOTE This chapter has been developed for the micro:bit v2 only, not the v1. Contributions to port the code to the v1 are welcome. NOTE In this chapter, we are going to use later versions of certain libraries that have been used in previous chapters. We are going to use version 0.13.0 of the microbit library (the preceding chapters have used 0.12.0). Version 0.13.0 fixes a couple of bugs in the non-blocking display code that we will be using. We are also going to use version 0.8.0 of the heapless library (previous chapters used version 0.7.10), which allows us to use certain of its data structures with structs that implement Rust's core::Hash trait.","breadcrumbs":"Snake game » Snake game","id":"109","title":"Snake game"},"11":{"body":"Hopefully, I don't need to convince you here as you are probably familiar with the language differences between Rust and C. One point I do want to bring up is package management. C lacks an official, widely accepted package management solution whereas Rust has Cargo. This makes development much easier. And, IMO, easy package management encourages code reuse because libraries can be easily integrated into an application which is also a good thing as libraries get more \"battle testing\".","breadcrumbs":"Background » Why use Rust and not C?","id":"11","title":"Why use Rust and not C?"},"110":{"body":"First, we are going to describe the game logic. You are probably familiar with snake games, but if not, the basic idea is that the player guides a snake around a 2D grid. At any given time, there is some \"food\" at a random location on the grid and the goal of the game is to get the snake to \"eat\" as much food as possible. Each time the snake eats some food it grows in length. The player loses if the snake crashes into its own tail. In some variants of the game, the player also loses if the snake crashes into the edge of the grid, but given the small size of our grid we are going to implement a \"wraparound\" rule where, if the snake goes off one edge of the grid, it will continue from the opposite edge.","breadcrumbs":"Snake game » Game logic » Game logic","id":"110","title":"Game logic"},"111":{"body":"The code in this section should go in a separate file, game.rs, in our src directory. use heapless::FnvIndexSet; /// A single point on the grid.\n#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]\nstruct Coords { // Signed ints to allow negative values (handy when checking if we have gone // off the top or left of the grid) row: i8, col: i8\n} impl Coords { /// Get random coordinates within a grid. `exclude` is an optional set of /// coordinates which should be excluded from the output. fn random( rng: &mut Prng, // We define the Prng struct below exclude: Option<&FnvIndexSet> ) -> Self { let mut coords = Coords { row: ((rng.random_u32() as usize) % 5) as i8, col: ((rng.random_u32() as usize) % 5) as i8 }; while exclude.is_some_and(|exc| exc.contains(&coords)) { coords = Coords { row: ((rng.random_u32() as usize) % 5) as i8, col: ((rng.random_u32() as usize) % 5) as i8 } } coords } /// Whether the point is outside the bounds of the grid. fn is_out_of_bounds(&self) -> bool { self.row < 0 || self.row >= 5 || self.col < 0 || self.col >= 5 }\n} We use a Coords struct to refer to a position on the grid. Because Coords only contains two integers, we tell the compiler to derive an implementation of the Copy trait for it, so we can pass around Coords structs without having to worry about ownership. We define an associated function, Coords::random, which will give us a random position on the grid. We will use this later to determine where to place the snake's food. To do this, we need a source of random numbers. The nRF52833 has a random number generator (RNG) peripheral, documented at section 6.19 of the spec sheet . The HAL gives us a simple interface to the RNG via the microbit::hal::rng::Rng struct. However, it is a blocking interface, and the time needed to generate one random byte of data is variable and unpredictable. We therefore define a pseudo-random number generator (PRNG) which uses an xorshift algorithm to generate pseudo-random u32 values that we can use to determine where to place food. The algorithm is basic and not cryptographically secure, but it is efficient, easy to implement and good enough for our humble snake game. Our Prng struct requires an initial seed value, which we get from the RNG peripheral. /// A basic pseudo-random number generator.\nstruct Prng { value: u32\n} impl Prng { fn new(seed: u32) -> Self { Self {value: seed} } /// Basic xorshift PRNG function: see https://en.wikipedia.org/wiki/Xorshift fn xorshift32(mut input: u32) -> u32 { input ^= input << 13; input ^= input >> 17; input ^= input << 5; input } /// Return a pseudo-random u32. fn random_u32(&mut self) -> u32 { self.value = Self::xorshift32(self.value); self.value }\n} We also need to define a few enums that help us manage the game's state: direction of movement, direction to turn, the current game status and the outcome of a particular \"step\" in the game (ie, a single movement of the snake). /// Define the directions the snake can move.\nenum Direction { Up, Down, Left, Right\n} /// What direction the snake should turn.\n#[derive(Debug, Copy, Clone)]\npub enum Turn { Left, Right, None\n} /// The current status of the game.\npub enum GameStatus { Won, Lost, Ongoing\n} /// The outcome of a single move/step.\nenum StepOutcome { /// Grid full (player wins) Full(Coords), /// Snake has collided with itself (player loses) Collision(Coords), /// Snake has eaten some food Eat(Coords), /// Snake has moved (and nothing else has happened) Move(Coords)\n} Next up we define a Snake struct, which keeps track of the coordinates occupied by the snake and its direction of travel. We use a queue (heapless::spsc::Queue) to keep track of the order of coordinates and a hash set (heapless::FnvIndexSet) to allow for quick collision detection. The Snake has methods to allow it to move. use heapless::spsc::Queue; // ... struct Snake { /// Coordinates of the snake's head. head: Coords, /// Queue of coordinates of the rest of the snake's body. The end of the tail is /// at the front. tail: Queue, /// A set containing all coordinates currently occupied by the snake (for fast /// collision checking). coord_set: FnvIndexSet, /// The direction the snake is currently moving in. direction: Direction\n} impl Snake { fn new() -> Self { let head = Coords { row: 2, col: 2 }; let initial_tail = Coords { row: 2, col: 1 }; let mut tail = Queue::new(); tail.enqueue(initial_tail).unwrap(); let mut coord_set: FnvIndexSet = FnvIndexSet::new(); coord_set.insert(head).unwrap(); coord_set.insert(initial_tail).unwrap(); Self { head, tail, coord_set, direction: Direction::Right, } } /// Move the snake onto the tile at the given coordinates. If `extend` is false, /// the snake's tail vacates the rearmost tile. fn move_snake(&mut self, coords: Coords, extend: bool) { // Location of head becomes front of tail self.tail.enqueue(self.head).unwrap(); // Head moves to new coords self.head = coords; self.coord_set.insert(coords).unwrap(); if !extend { let back = self.tail.dequeue().unwrap(); self.coord_set.remove(&back); } } fn turn_right(&mut self) { self.direction = match self.direction { Direction::Up => Direction::Right, Direction::Down => Direction::Left, Direction::Left => Direction::Up, Direction::Right => Direction::Down } } fn turn_left(&mut self) { self.direction = match self.direction { Direction::Up => Direction::Left, Direction::Down => Direction::Right, Direction::Left => Direction::Down, Direction::Right => Direction::Up } } fn turn(&mut self, direction: Turn) { match direction { Turn::Left => self.turn_left(), Turn::Right => self.turn_right(), Turn::None => () } }\n} The Game struct keeps track of the game state. It holds a Snake object, the current coordinates of the food, the speed of the game (which is used to determine the time that elapses between each movement of the snake), the status of the game (whether the game is ongoing or the player has won or lost) and the player's score. This struct contains methods to handle each step of the game, determining the snake's next move and updating the game state accordingly. It also contains two methods--game_matrix and score_matrix--that output 2D arrays of values which can be used to display the game state or the player score on the LED matrix (as we will see later). /// Struct to hold game state and associated behaviour\npub(crate) struct Game { rng: Prng, snake: Snake, food_coords: Coords, speed: u8, pub(crate) status: GameStatus, score: u8\n} impl Game { pub(crate) fn new(rng_seed: u32) -> Self { let mut rng = Prng::new(rng_seed); let mut tail: FnvIndexSet = FnvIndexSet::new(); tail.insert(Coords { row: 2, col: 1 }).unwrap(); let snake = Snake::new(); let food_coords = Coords::random(&mut rng, Some(&snake.coord_set)); Self { rng, snake, food_coords, speed: 1, status: GameStatus::Ongoing, score: 0 } } /// Reset the game state to start a new game. pub(crate) fn reset(&mut self) { self.snake = Snake::new(); self.place_food(); self.speed = 1; self.status = GameStatus::Ongoing; self.score = 0; } /// Randomly place food on the grid. fn place_food(&mut self) -> Coords { let coords = Coords::random(&mut self.rng, Some(&self.snake.coord_set)); self.food_coords = coords; coords } /// \"Wrap around\" out of bounds coordinates (eg, coordinates that are off to the /// left of the grid will appear in the rightmost column). Assumes that /// coordinates are out of bounds in one dimension only. fn wraparound(&self, coords: Coords) -> Coords { if coords.row < 0 { Coords { row: 4, ..coords } } else if coords.row >= 5 { Coords { row: 0, ..coords } } else if coords.col < 0 { Coords { col: 4, ..coords } } else { Coords { col: 0, ..coords } } } /// Determine the next tile that the snake will move on to (without actually /// moving the snake). fn get_next_move(&self) -> Coords { let head = &self.snake.head; let next_move = match self.snake.direction { Direction::Up => Coords { row: head.row - 1, col: head.col }, Direction::Down => Coords { row: head.row + 1, col: head.col }, Direction::Left => Coords { row: head.row, col: head.col - 1 }, Direction::Right => Coords { row: head.row, col: head.col + 1 }, }; if next_move.is_out_of_bounds() { self.wraparound(next_move) } else { next_move } } /// Assess the snake's next move and return the outcome. Doesn't actually update /// the game state. fn get_step_outcome(&self) -> StepOutcome { let next_move = self.get_next_move(); if self.snake.coord_set.contains(&next_move) { // We haven't moved the snake yet, so if the next move is at the end of // the tail, there won't actually be any collision (as the tail will have // moved by the time the head moves onto the tile) if next_move != *self.snake.tail.peek().unwrap() { StepOutcome::Collision(next_move) } else { StepOutcome::Move(next_move) } } else if next_move == self.food_coords { if self.snake.tail.len() == 23 { StepOutcome::Full(next_move) } else { StepOutcome::Eat(next_move) } } else { StepOutcome::Move(next_move) } } /// Handle the outcome of a step, updating the game's internal state. fn handle_step_outcome(&mut self, outcome: StepOutcome) { self.status = match outcome { StepOutcome::Collision(_) => GameStatus::Lost, StepOutcome::Full(_) => GameStatus::Won, StepOutcome::Eat(c) => { self.snake.move_snake(c, true); self.place_food(); self.score += 1; if self.score % 5 == 0 { self.speed += 1 } GameStatus::Ongoing }, StepOutcome::Move(c) => { self.snake.move_snake(c, false); GameStatus::Ongoing } } } pub(crate) fn step(&mut self, turn: Turn) { self.snake.turn(turn); let outcome = self.get_step_outcome(); self.handle_step_outcome(outcome); } /// Calculate the length of time to wait between game steps, in milliseconds. /// Generally this will get lower as the player's score increases, but need to /// be careful it cannot result in a value below zero. pub(crate) fn step_len_ms(&self) -> u32 { let result = 1000 - (200 * ((self.speed as i32) - 1)); if result < 200 { 200u32 } else { result as u32 } } /// Return an array representing the game state, which can be used to display the /// state on the microbit's LED matrix. Each `_brightness` parameter should be a /// value between 0 and 9. pub(crate) fn game_matrix( &self, head_brightness: u8, tail_brightness: u8, food_brightness: u8 ) -> [[u8; 5]; 5] { let mut values = [[0u8; 5]; 5]; values[self.snake.head.row as usize][self.snake.head.col as usize] = head_brightness; for t in &self.snake.tail { values[t.row as usize][t.col as usize] = tail_brightness } values[self.food_coords.row as usize][self.food_coords.col as usize] = food_brightness; values } /// Return an array representing the game score, which can be used to display the /// score on the microbit's LED matrix (by illuminating the equivalent number of /// LEDs, going left->right and top->bottom). pub(crate) fn score_matrix(&self) -> [[u8; 5]; 5] { let mut values = [[0u8; 5]; 5]; let full_rows = (self.score as usize) / 5; for r in 0..full_rows { values[r] = [1; 5]; } for c in 0..(self.score as usize) % 5 { values[full_rows][c] = 1; } values }\n}","breadcrumbs":"Snake game » Game logic » The game module","id":"111","title":"The game module"},"112":{"body":"The following code should be placed in our main.rs file. #![no_main]\n#![no_std] mod game; use cortex_m_rt::entry;\nuse microbit::{ Board, hal::{prelude::*, Rng, Timer}, display::blocking::Display\n};\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse crate::game::{Game, GameStatus, Turn}; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut rng = Rng::new(board.RNG); let mut game = Game::new(rng.random_u32()); let mut display = Display::new(board.display_pins); loop { loop { // Game loop let image = game.game_matrix(9, 9, 9); // The brightness values are meaningless at the moment as we haven't yet // implemented a display capable of displaying different brightnesses display.show(&mut timer, image, game.step_len_ms()); match game.status { GameStatus::Ongoing => game.step(Turn::None), // Placeholder as we // haven't implemented // controls yet _ => { for _ in 0..3 { display.clear(); timer.delay_ms(200u32); display.show(&mut timer, image, 200); } display.clear(); display.show(&mut timer, game.score_matrix(), 1000); break } } } game.reset(); }\n} After initialising the board and its timer and RNG peripherals, we initialise a Game struct and a Display from the microbit::display::blocking module. In our \"game loop\" (which runs inside of the \"main loop\" we place in our main function), we repeatedly perform the following steps: Get a 5x5 array of bytes representing the grid. The Game::get_matrix method takes three integer arguments (which should be between 0 and 9, inclusive) which will, eventually, represent how brightly the head, tail and food should be displayed. The basic Display we are using at this point does not support variable brightness, so we just provide values of 9 for each (but any non-zero value would work) at this stage. Display the matrix, for an amount of time determined by the Game::step_len_ms method. As currently implemented, this method basically provides for 1 second between steps, reducing by 200ms every time the player scores 5 points (eating 1 piece of food = 1 point), subject to a floor of 200ms. Check the game status. If it is Ongoing (which is its initial value), run a step of the game and update the game state (including its status property). Otherwise, the game is over, so flash the current image three times, then show the player's score (represented as a number of illuminated LEDs corresponding to the score), and exit the game loop. Our main loop just runs the game loop repeatedly, resetting the game's state after each iteration. If you run this, you should see two LEDs illuminated halfway down the display (the snake's head in the middle and its tail to the left). You will also see another LED illuminated somewhere on the board, representing the snake's food. Approximately each second, the snake will move one space to the right. Next we will add an ability to control the snake's movements.","breadcrumbs":"Snake game » Game logic » The main file","id":"112","title":"The main file"},"113":{"body":"Our protagonist will be controlled by the two buttons on the front of the micro:bit. Button A will turn to the (snake's) left, and button B will turn to the (snake's) right. We will use the microbit::pac::interrupt macro to handle button presses in a concurrent way. The interrupt will be generated by the micro:bit's GPIOTE ( G eneral P urpose I nput/ O utput T asks and E vents) peripheral.","breadcrumbs":"Snake game » Controls » Controls","id":"113","title":"Controls"},"114":{"body":"Code in this section should be placed in a separate file, controls.rs, in our src directory. We will need to keep track of two separate pieces of global mutable state: A reference to the GPIOTE peripheral, and a record of the selected direction to turn next. use core::cell::RefCell;\nuse cortex_m::interrupt::Mutex;\nuse microbit::hal::gpiote::Gpiote;\nuse crate::game::Turn; // ... static GPIO: Mutex>> = Mutex::new(RefCell::new(None));\nstatic TURN: Mutex> = Mutex::new(RefCell::new(Turn::None)); The data is wrapped in a RefCell to permit interior mutability. You can learn more about RefCell by reading its documentation and the relevant chapter of the Rust Book . The RefCell is, in turn, wrapped in a cortex_m::interrupt::Mutex to allow safe access. The Mutex provided by the cortex_m crate uses the concept of a critical section . Data in a Mutex can only be accessed from within a function or closure passed to cortex_m::interrupt:free, which ensures that the code in the function or closure cannot itself be interrupted. First, we will initialise the buttons. use cortex_m::interrupt::free;\nuse microbit::{ board::Buttons, pac::{self, GPIOTE}\n}; // ... /// Initialise the buttons and enable interrupts.\npub(crate) fn init_buttons(board_gpiote: GPIOTE, board_buttons: Buttons) { let gpiote = Gpiote::new(board_gpiote); let channel0 = gpiote.channel0(); channel0 .input_pin(&board_buttons.button_a.degrade()) .hi_to_lo() .enable_interrupt(); channel0.reset_events(); let channel1 = gpiote.channel1(); channel1 .input_pin(&board_buttons.button_b.degrade()) .hi_to_lo() .enable_interrupt(); channel1.reset_events(); free(move |cs| { *GPIO.borrow(cs).borrow_mut() = Some(gpiote); unsafe { pac::NVIC::unmask(pac::Interrupt::GPIOTE); } pac::NVIC::unpend(pac::Interrupt::GPIOTE); });\n} The GPIOTE peripheral on the nRF52 has 8 \"channels\", each of which can be connected to a GPIO pin and configured to respond to certain events, including rising edge (transition from low to high signal) and falling edge (high to low signal). A button is a GPIO pin which has high signal when not pressed and low signal otherwise. Therefore, a button press is a falling edge. We connect channel0 to button_a and channel1 to button_b and, in each case, tell them to generate events on a falling edge (hi_to_lo). We store a reference to our GPIOTE peripheral in the GPIO Mutex. We then unmask GPIOTE interrupts, allowing them to be propagated by the hardware, and call unpend to clear any interrupts with pending status (which may have been generated prior to the interrupts being unmasked). Next, we write the code that handles the interrupt. We use the interrupt macro provided by microbit::pac (in the case of the v2, it is re-exported from the nrf52833_hal crate). We define a function with the same name as the interrupt we want to handle (you can see them all here ) and annotate it with #[interrupt]. use microbit::pac::interrupt; // ... #[interrupt]\nfn GPIOTE() { free(|cs| { if let Some(gpiote) = GPIO.borrow(cs).borrow().as_ref() { let a_pressed = gpiote.channel0().is_event_triggered(); let b_pressed = gpiote.channel1().is_event_triggered(); let turn = match (a_pressed, b_pressed) { (true, false) => Turn::Left, (false, true) => Turn::Right, _ => Turn::None }; gpiote.channel0().reset_events(); gpiote.channel1().reset_events(); *TURN.borrow(cs).borrow_mut() = turn; } });\n} When a GPIOTE interrupt is generated, we check each button to see whether it has been pressed. If only button A has been pressed, we record that the snake should turn to the left. If only button B has been pressed, we record that the snake should turn to the right. In any other case, we record that the snake should not make any turn. The relevant turn is stored in the TURN Mutex. All of this happens within a free block, to ensure that we cannot be interrupted again while handling this interrupt. Finally, we expose a simple function to get the next turn. /// Get the next turn (i.e., the turn corresponding to the most recently pressed button).\npub fn get_turn(reset: bool) -> Turn { free(|cs| { let turn = *TURN.borrow(cs).borrow(); if reset { *TURN.borrow(cs).borrow_mut() = Turn::None } turn })\n} This function simply returns the current value of the TURN Mutex. It takes a single boolean argument, reset. If reset is true, the value of TURN is reset, i.e., set to Turn::None.","breadcrumbs":"Snake game » Controls » The controls module","id":"114","title":"The controls module"},"115":{"body":"Returning to our main function, we need to add a call to init_buttons before our main loop, and in the game loop, replace our placeholder Turn::None argument to the game.step method with the value returned by get_turn. #![no_main]\n#![no_std] mod game;\nmod control; use cortex_m_rt::entry;\nuse microbit::{ Board, hal::{prelude::*, Rng, Timer}, display::blocking::Display\n};\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; use crate::game::{Game, GameStatus};\nuse crate::control::{init_buttons, get_turn}; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut rng = Rng::new(board.RNG); let mut game = Game::new(rng.random_u32()); let mut display = Display::new(board.display_pins); init_buttons(board.GPIOTE, board.buttons); loop { // Main loop loop { // Game loop let image = game.game_matrix(9, 9, 9); // The brightness values are meaningless at the moment as we haven't yet // implemented a display capable of displaying different brightnesses display.show(&mut timer, image, game.step_len_ms()); match game.status { GameStatus::Ongoing => game.step(get_turn(true)), _ => { for _ in 0..3 { display.clear(); timer.delay_ms(200u32); display.show(&mut timer, image, 200); } display.clear(); display.show(&mut timer, game.score_matrix(), 1000); break } } } game.reset(); }\n} Now we can control the snake using the micro:bit's buttons!","breadcrumbs":"Snake game » Controls » Updating the main file","id":"115","title":"Updating the main file"},"116":{"body":"We now have a basic functioning snake game. But you might find that when the snake gets a bit longer, it can be difficult to tell the snake from the food, and to tell which direction the snake is heading, because all LEDs are the same brightness. Let's fix that. The microbit library makes available two different interfaces to the LED matrix: a basic, blocking interface, which we have been using, and a non-blocking interface which allows you to customise the brightness of each LED. At the hardware level, each LED is either \"on\" or \"off\", but the microbit::display::nonblocking module simulates ten levels of brightness for each LED by rapidly switching the LED on and off. The code to interact with the non-blocking interface is pretty simple and will follow a similar structure to the code we used to interact with the buttons. use core::cell::RefCell;\nuse cortex_m::interrupt::{free, Mutex};\nuse microbit::display::nonblocking::Display;\nuse microbit::gpio::DisplayPins;\nuse microbit::pac;\nuse microbit::pac::TIMER1; static DISPLAY: Mutex>>> = Mutex::new(RefCell::new(None)); pub(crate) fn init_display(board_timer: TIMER1, board_display: DisplayPins) { let display = Display::new(board_timer, board_display); free(move |cs| { *DISPLAY.borrow(cs).borrow_mut() = Some(display); }); unsafe { pac::NVIC::unmask(pac::Interrupt::TIMER1) }\n} First, we initialise a microbit::display::nonblocking::Display struct representing the LED display, passing it the board's TIMER1 and DisplayPins peripherals. Then we store the display in a Mutex. Finally, we unmask the TIMER1 interrupt. We then define a couple of convenience functions which allow us to easily set (or unset) the image to be displayed. use tiny_led_matrix::Render; // ... /// Display an image.\npub(crate) fn display_image(image: &impl Render) { free(|cs| { if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { display.show(image); } })\n} /// Clear the display (turn off all LEDs).\npub(crate) fn clear_display() { free(|cs| { if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { display.clear(); } })\n} display_image takes an image and tells the display to show it. Like the Display::show method that it calls, this function takes a struct that implements the tiny_led_matrix::Render trait. That trait ensures that the struct contains the data and methods necessary for the Display to render it on the LED matrix. The two implementations of Render provided by the microbit::display::nonblocking module are BitImage and GreyscaleImage. In a BitImage, each \"pixel\" (or LED) is either illuminated or not (like when we used the blocking interface), whereas in a GreyscaleImage each \"pixel\" can have a different brightness. clear_display does exactly as the name suggests. Finally, we use the interrupt macro to define a handler for the TIMER1 interrupt. This interrupt fires many times a second, and this is what allows the Display to rapidly cycle the different LEDs on and off to give the illusion of varying brightness levels. All our handler code does is call the Display::handle_display_event method, which handles this. use microbit::pac::interrupt; // ... #[interrupt]\nfn TIMER1() { free(|cs| { if let Some(display) = DISPLAY.borrow(cs).borrow_mut().as_mut() { display.handle_display_event(); } })\n} Now we just need to update our main function to call init_display and use the new functions we have defined to interact with our fancy new display. #![no_main]\n#![no_std] mod game;\nmod control;\nmod display; use cortex_m_rt::entry;\nuse microbit::{ Board, hal::{prelude::*, Rng, Timer}, display::nonblocking::{BitImage, GreyscaleImage}\n};\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; use crate::control::{get_turn, init_buttons};\nuse crate::display::{clear_display, display_image, init_display};\nuse crate::game::{Game, GameStatus}; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0).into_periodic(); let mut rng = Rng::new(board.RNG); let mut game = Game::new(rng.random_u32()); init_buttons(board.GPIOTE, board.buttons); init_display(board.TIMER1, board.display_pins); loop { loop { // Game loop let image = GreyscaleImage::new(&game.game_matrix(6, 3, 9)); display_image(&image); timer.delay_ms(game.step_len_ms()); match game.status { GameStatus::Ongoing => game.step(get_turn(true)), _ => { for _ in 0..3 { clear_display(); timer.delay_ms(200u32); display_image(&image); timer.delay_ms(200u32); } clear_display(); display_image(&BitImage::new(&game.score_matrix())); timer.delay_ms(2000u32); break } } } game.reset(); }\n}","breadcrumbs":"Snake game » Non-blocking display » Using the non-blocking display","id":"116","title":"Using the non-blocking display"},"117":{"body":"We have barely scratched the surface! There's lots of stuff left for you to explore. NOTE: If you're reading this, and you'd like to help add examples or exercises to the Discovery book for any of the items below, or any other relevant embedded topics, we'd love to have your help! Please open an issue if you would like to help, but need assistance or mentoring for how to contribute this to the book, or open a Pull Request adding the information!","breadcrumbs":"What's left for you to explore » What's left for you to explore","id":"117","title":"What's left for you to explore"},"118":{"body":"These topics discuss strategies for writing embedded software. Although many problems can be solved in different ways, these sections talk about some strategies, and when they make sense (or don't make sense) to use.","breadcrumbs":"What's left for you to explore » Topics about embedded software","id":"118","title":"Topics about embedded software"},"119":{"body":"Most of our programs executed a single task. How could we achieve multitasking in a system with no OS, and thus no threads? There are two main approaches to multitasking: preemptive multitasking and cooperative multitasking. In preemptive multitasking a task that's currently being executed can, at any point in time, be preempted (interrupted) by another task. On preemption, the first task will be suspended and the processor will instead execute the second task. At some point the first task will be resumed. Microcontrollers provide hardware support for preemption in the form of interrupts . We were introduced to interrupts when we built our snake game in chapter 11. In cooperative multitasking a task that's being executed will run until it reaches a suspension point . When the processor reaches that suspension point it will stop executing the current task and instead go and execute a different task. At some point the first task will be resumed. The main difference between these two approaches to multitasking is that in cooperative multitasking yields execution control at known suspension points instead of being forcefully preempted at any point of its execution.","breadcrumbs":"What's left for you to explore » Multitasking","id":"119","title":"Multitasking"},"12":{"body":"Or why should I prefer C over Rust? The C ecosystem is way more mature. Off the shelf solutions for several problems already exist. If you need to control a time sensitive process, you can grab one of the existing commercial Real Time Operating Systems (RTOS) out there and solve your problem. There are no commercial, production-grade RTOSes in Rust yet so you would have to either create one yourself or try one of the ones that are in development. You can find a list of those in the Awesome Embedded Rust repository.","breadcrumbs":"Background » Why should I not use Rust?","id":"12","title":"Why should I not use Rust?"},"120":{"body":"All our programs have been continuously polling peripherals to see if there's anything that needs to be done. However, sometimes there's nothing to be done! At those times, the microcontroller should \"sleep\". When the processor sleeps, it stops executing instructions and this saves power. It's almost always a good idea to save power so your microcontroller should be sleeping as much as possible. But, how does it know when it has to wake up to perform some action? \"Interrupts\" (see below for what exactly those are) are one of the events that wake up the microcontroller but there are others and the wfi and wfe are the instructions that make the processor \"sleep\".","breadcrumbs":"What's left for you to explore » Sleeping","id":"120","title":"Sleeping"},"121":{"body":"Microcontrollers (like our nRF52/nRF51) have many capabilities. However, many share similar capabilities that can be used to solve all sorts of different problems. These topics discuss some of those capabilities, and how they can be used effectively in embedded development.","breadcrumbs":"What's left for you to explore » Topics related to microcontroller capabilities","id":"121","title":"Topics related to microcontroller capabilities"},"122":{"body":"This peripheral is a kind of asynchronous memcpy. If you are working with a micro:bit v2 you have actually already used this, the HAL does this for you with the UARTE and TWIM peripherals. A DMA peripheral can be used to perform bulk transfers of data. Either from RAM to RAM, from a peripheral, like a UARTE, to RAM or from RAM to a peripheral. You can schedule a DMA transfer, like read 256 bytes from UARTE into this buffer, leave it running in the background and then poll some register to see if it has completed so you can do other stuff while the transfer is ongoing. For more information as to how this is implemented you can checkout the serial_setup module from the UART chapter. If that isn't enough yet you could even try and dive into the code of the nrf52-hal .","breadcrumbs":"What's left for you to explore » Direct Memory Access (DMA).","id":"122","title":"Direct Memory Access (DMA)."},"123":{"body":"In order to interact with the real world, it is often necessary for the microcontroller to respond immediately when some kind of event occurs. Microcontrollers have the ability to be interrupted, meaning when a certain event occurs, it will stop whatever it is doing at the moment, to instead respond to that event. This can be very useful when we want to stop a motor when a button is pressed, or measure a sensor when a timer finishes counting down. Although these interrupts can be very useful, they can also be a bit difficult to work with properly. We want to make sure that we respond to events quickly, but also allow other work to continue as well. In Rust, we model interrupts similar to the concept of threading on desktop Rust programs. This means we also must think about the Rust concepts of Send and Sync when sharing data between our main application, and code that executes as part of handling an interrupt event.","breadcrumbs":"What's left for you to explore » Interrupts","id":"123","title":"Interrupts"},"124":{"body":"In a nutshell, PWM is turning on something and then turning it off periodically while keeping some proportion (\"duty cycle\") between the \"on time\" and the \"off time\". When used on a LED with a sufficiently high frequency, this can be used to dim the LED. A low duty cycle, say 10% on time and 90% off time, will make the LED very dim wheres a high duty cycle, say 90% on time and 10% off time, will make the LED much brighter (almost as if it were fully powered). In general, PWM can be used to control how much power is given to some electric device. With proper (power) electronics between a microcontroller and an electrical motor, PWM can be used to control how much power is given to the motor thus it can be used to control its torque and speed. Then you can add an angular position sensor and you got yourself a closed loop controller that can control the position of the motor at different loads. PWM is already abstracted within the embedded-hal Pwm trait and you will again find implementations of this in the nrf52-hal .","breadcrumbs":"What's left for you to explore » Pulse Width Modulation (PWM)","id":"124","title":"Pulse Width Modulation (PWM)"},"125":{"body":"We have used the microcontroller pins as digital outputs, to drive LEDs. When building our snake game, we also caught a glimpse of how these pins can be configured as digital inputs. As digital inputs, these pins can read the binary state of switches (on/off) or buttons (pressed/not pressed). Again digital inputs are abstracted within the embedded-hal InputPin trait and of course the nrf52-hal does have an implementation for them. ( spoilers reading the binary state of switches / buttons is not as straightforward as it sounds ;-) )","breadcrumbs":"What's left for you to explore » Digital inputs","id":"125","title":"Digital inputs"},"126":{"body":"There are a lot of digital sensors out there. You can use a protocol like I2C and SPI to read them. But analog sensors also exist! These sensors just output a voltage level that's proportional to the magnitude they are sensing. The ADC peripheral can be used to convert that \"analog\" voltage level, say 1.25 Volts, into a \"digital\" number, say in the [0, 65535] range, that the processor can use in its calculations. Again the embedded-hal adc module as well as the nrf52-hal got you covered.","breadcrumbs":"What's left for you to explore » Analog-to-Digital Converters (ADC)","id":"126","title":"Analog-to-Digital Converters (ADC)"},"127":{"body":"As you might expect a DAC is exactly the opposite of ADC. You can write some digital value into a register to produce a voltage in the [0, 3.3V] range (assuming a 3.3V power supply) on some \"analog\" pin. When this analog pin is connected to some appropriate electronics and the register is written to at some constant, fast rate (frequency) with the right values you can produce sounds or even music!","breadcrumbs":"What's left for you to explore » Digital-to-Analog Converters (DAC)","id":"127","title":"Digital-to-Analog Converters (DAC)"},"128":{"body":"This peripheral can be used to track time in \"human format\". Seconds, minutes, hours, days, months and years. This peripheral handles the translation from \"ticks\" to these human friendly units of time. It even handles leap years and Daylight Save Time for you!","breadcrumbs":"What's left for you to explore » Real Time Clock (RTC)","id":"128","title":"Real Time Clock (RTC)"},"129":{"body":"SPI, abstracted within the embedded-hal spi module and implemented by the nrf52-hal I2S, currently not abstracted within the embedded-hal but implemented by the nrf52-hal Ethernet, there does exist a small TCP/IP stack named smoltcp which is implemented for some chips but the ones on the micro:bit don't feature an Ethernet peripheral USB, there is some experimental work on this, for example with the usb-device crate Bluetooth, there does exist an incomplete BLE stack named rubble which does support nrf chips. SMBUS, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment. CAN, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment IrDA, neither abstracted in embedded-hal nor implemented by the nrf52-hal at the moment Different applications use different communication protocols. User facing applications usually have a USB connector because USB is a ubiquitous protocol in PCs and smartphones. Whereas inside cars you'll find plenty of CAN \"buses\". Some digital sensors use SPI, others use I2C and others, SMBUS. If you happen to be interested in developing abstractions in the embedded-hal or implementations of peripherals in general, don't be shy to open an issue in the HAL repositories. Alternatively you could also join the Rust Embedded matrix channel and get into contact with most of the people who built the stuff from above.","breadcrumbs":"What's left for you to explore » Other communication protocols","id":"129","title":"Other communication protocols"},"13":{"body":"The primary knowledge requirement to read this book is to know some Rust. It's hard for me to quantify some but at least I can tell you that you don't need to fully grok generics, but you do need to know how to use closures. You also need to be familiar with the idioms of the 2018 edition , in particular with the fact that extern crate is not necessary in the 2018 edition. Also, to follow this material you'll need the following hardware: A micro:bit v2 board, alternatively a micro:bit v1.5 board, the book will refer to the v1.5 as just v1. (You can purchase this board from several electronics suppliers ) NOTE This is an image of a micro:bit v2, the front of the v1 looks slightly different One micro-B USB cable, required to make the micro:bit board work. Make sure that the cable supports data transfer as some cables only support charging devices. NOTE You may already have a cable like this, as some micro:bit kits ship with such cables. Some USB cables used to charge mobile devices may also work, if they are micro-B and have the capability to transmit data. FAQ : Wait, why do I need this specific hardware? It makes my life and yours much easier. The material is much, much more approachable if we don't have to worry about hardware differences. Trust me on this one. FAQ : Can I follow this material with a different development board? Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or whether a high level crate already exists, like the nrf52-hal , for your development board somewhere. You can look through the Awesome Embedded Rust HAL list for your microcontroller, if you intend to use a different one. With a different development board, this text would lose most if not all its beginner friendliness and \"easy to follow\"-ness, IMO. If you have a different development board and you don't consider yourself a total beginner, you are better off starting with the quickstart project template.","breadcrumbs":"Hardware/knowledge requirements » Hardware/knowledge requirements","id":"13","title":"Hardware/knowledge requirements"},"130":{"body":"These topics cover items that are not specific to our device, or the hardware on it. Instead, they discuss useful techniques that could be used on embedded systems.","breadcrumbs":"What's left for you to explore » General Embedded-Relevant Topics","id":"130","title":"General Embedded-Relevant Topics"},"131":{"body":"As part of our Punch-o-meter exercise, we used the Accelerometer to measure changes in acceleration in three dimensions. But there are other motion sensors such as gyroscopes, which allows us to measure changes in \"spin\" in three dimensions. This can be very useful when trying to build certain systems, such as a robot that wants to avoid tipping over. Additionally, the data from a sensor like a gyroscope can also be combined with data from accelerometer using a technique called Sensor Fusion (see below for more information).","breadcrumbs":"What's left for you to explore » Gyroscopes","id":"131","title":"Gyroscopes"},"132":{"body":"While some motors are used primarily just to spin in one direction or the other, for example driving a remote control car forwards or backwards, it is sometimes useful to measure more precisely how a motor rotates. Our microcontroller can be used to drive Servo or Stepper motors, which allow for more precise control of how many turns are being made by the motor, or can even position the motor in one specific place, for example if we wanted to move the arms of a clock to a particular direction.","breadcrumbs":"What's left for you to explore » Servo and Stepper Motors","id":"132","title":"Servo and Stepper Motors"},"133":{"body":"The micro:bit contains two motion sensors: an accelerometer and a magnetometer. On their own these measure: (proper) acceleration and (the Earth's) magnetic field. But these magnitudes can be \"fused\" into something more useful: a \"robust\" measurement of the orientation of the board. Where robust means with less measurement error than a single sensor would be capable of. This idea of deriving more reliable data from different sources is known as sensor fusion. So where to next? There are several options: You could check out the examples in the microbit board support crate. All those examples work for the micro:bit board you have. You could join the Rust Embedded matrix channel , lots of people who contribute or work on embedded software hang out there. Including for example the people who wrote the microbit BSP, the nrf52-hal, embedded-hal etc. If you are looking for a general overview of what is available in Rust Embedded right now check out the Awesome Rust Embedded list You could check out Real-Time Interrupt-driven Concurrency . A very efficient preemptive multitasking framework that supports task prioritization and dead lock free execution. You could check out more abstractions of the embedded-hal project and maybe even try and write your own platform agnostic driver based on it. You could try running Rust on a different development board. The easiest way to get started is to use the cortex-m-quickstart Cargo project template. You could try out this motion sensors demo . Details about the implementation and source code are available in this blog post . You could check out this blog post which describes how Rust type system can prevent bugs in I/O configuration. You could check out japaric's blog for miscellaneous topics about embedded development with Rust. You could join the Weekly driver initiative and help us write generic drivers on top of the embedded-hal traits and that work for all sorts of platforms (ARM Cortex-M, AVR, MSP430, RISCV, etc.)","breadcrumbs":"What's left for you to explore » Sensor fusion","id":"133","title":"Sensor fusion"},"134":{"body":"","breadcrumbs":"General troubleshooting » General troubleshooting","id":"134","title":"General troubleshooting"},"135":{"body":"Most cargo-embed problems are either related to not having installed the udev rules properly (on Linux) or having selected the wrong chip configuration in Embed.toml so make sure you got both of those right. If the above does not work out for you, you can open an issue in the discovery issue tracker . Alternatively you can also visit the Rust Embedded matrix channel or the probe-rs matrix channel and ask for help there.","breadcrumbs":"General troubleshooting » cargo-embed problems","id":"135","title":"cargo-embed problems"},"136":{"body":"","breadcrumbs":"General troubleshooting » Cargo problems","id":"136","title":"Cargo problems"},"137":{"body":"Symptoms Compiling volatile-register v0.1.2 Compiling rlibc v1.0.0 Compiling r0 v0.1.0\nerror[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error error[E0463]: can't find crate for `core` error: aborting due to previous error Build failed, waiting for other jobs to finish...\nBuild failed, waiting for other jobs to finish...\nerror: Could not compile `r0`. To learn more, run the command again with --verbose. Cause You forgot to install the proper target for your microcontroller (thumbv7em-none-eabihf for v2 and thumbv6m-none-eabi for v1). Fix Install the proper target. # micro:bit v2\n$ rustup target add thumbv7em-none-eabihf # micro:bit v1\n$ rustup target add thumbv6m-none-eabi","breadcrumbs":"General troubleshooting » \"can't find crate for core\"","id":"137","title":"\"can't find crate for core\""},"138":{"body":"Below are some useful GDB commands that can help us debug our programs. This assumes you have flashed a program onto your microcontroller and attached GDB to a cargo-embed session.","breadcrumbs":"How to use GDB » How to use GDB","id":"138","title":"How to use GDB"},"139":{"body":"NOTE: Many of the commands you see below can be executed using a short form. For example, continue can simply be used as c, or break $location can be used as b $location. Once you have experience with the commands below, try to see how short you can get the commands to go before GDB doesn't recognize them!","breadcrumbs":"How to use GDB » General Debugging","id":"139","title":"General Debugging"},"14":{"body":"Dealing with microcontrollers involves several tools as we'll be dealing with an architecture different from your computer's and we'll have to run and debug programs on a \"remote\" device.","breadcrumbs":"Setting up a development environment » Setting up a development environment","id":"14","title":"Setting up a development environment"},"140":{"body":"break $location: Set a breakpoint at a place in your code. The value of $location can include: break *main - Break on the exact address of the function main break *0x080012f2 - Break on the exact memory location 0x080012f2 break 123 - Break on line 123 of the currently displayed file break main.rs:123 - Break on line 123 of the file main.rs info break: Display current breakpoints delete: Delete all breakpoints delete $n: Delete breakpoint $n (n being a number. For example: delete $2) clear: Delete breakpoint at next instruction clear main.rs:$function: Delete breakpoint at entry of $function in main.rs clear main.rs:123: Delete breakpoint on line 123 of main.rs enable: Enable all set breakpoints enable $n: Enable breakpoint $n disable: Disable all set breakpoints disable $n: Disable breakpoint $n","breadcrumbs":"How to use GDB » Dealing with Breakpoints","id":"140","title":"Dealing with Breakpoints"},"141":{"body":"continue: Begin or continue execution of your program next: Execute the next line of your program next $n: Repeat next $n number times nexti: Same as next but with machine instructions instead step: Execute the next line, if the next line includes a call to another function, step into that code step $n: Repeat step $n number times stepi: Same as step but with machine instructions instead jump $location: Resume execution at specified location: jump 123: Resume execution at line 123 jump 0x080012f2: Resume execution at address 0x080012f2","breadcrumbs":"How to use GDB » Controlling Execution","id":"141","title":"Controlling Execution"},"142":{"body":"print /$f $data - Print the value contained by the variable $data. Optionally format the output with $f, which can include: x: hexadecimal\nd: signed decimal\nu: unsigned decimal\no: octal\nt: binary\na: address\nc: character\nf: floating point print /t 0xA: Prints the hexadecimal value 0xA as binary (0b1010) x /$n$u$f $address: Examine memory at $address. Optionally, $n define the number of units to display, $u unit size (bytes, halfwords, words, etc.), $f any print format defined above x /5i 0x080012c4: Print 5 machine instructions staring at address 0x080012c4 x/4xb $pc: Print 4 bytes of memory starting where $pc currently is pointing disassemble $location disassemble /r main: Disassemble the function main, using /r to show the bytes that make up each instruction","breadcrumbs":"How to use GDB » Printing Information","id":"142","title":"Printing Information"},"143":{"body":"info functions $regex: Print the names and data types of functions matched by $regex, omit $regex to print all functions info functions main: Print names and types of defined functions that contain the word main info address $symbol: Print where $symbol is stored in memory info address GPIOC: Print the memory address of the variable GPIOC info variables $regex: Print names and types of global variables matched by $regex, omit $regex to print all global variables ptype $data: Print more detailed information about $data ptype cp: Print detailed type information about the variable cp","breadcrumbs":"How to use GDB » Looking at the Symbol Table","id":"143","title":"Looking at the Symbol Table"},"144":{"body":"backtrace $n: Print trace of $n frames, or omit $n to print all frames backtrace 2: Print trace of first 2 frames frame $n: Select frame with number or address $n, omit $n to display current frame up $n: Select frame $n frames up down $n: Select frame $n frames down info frame $address: Describe frame at $address, omit $address for currently selected frame info args: Print arguments of selected frame info registers $r: Print the value of register $r in selected frame, omit $r for all registers info registers $sp: Print the value of the stack pointer register $sp in the current frame","breadcrumbs":"How to use GDB » Poking around the Program Stack","id":"144","title":"Poking around the Program Stack"},"145":{"body":"monitor reset: Reset the CPU, starting execution over again","breadcrumbs":"How to use GDB » Controlling cargo-embed Remotely","id":"145","title":"Controlling cargo-embed Remotely"},"15":{"body":"Tooling is not everything though. Without documentation, it is pretty much impossible to work with microcontrollers. We'll be referring to all these documents throughout this book: LSM303AGR","breadcrumbs":"Setting up a development environment » Documentation","id":"15","title":"Documentation"},"16":{"body":"We'll use all the tools listed below. Where a minimum version is not specified, any recent version should work but we have listed the version we have tested. Rust 1.57.0 or a newer toolchain. gdb-multiarch. Tested version: 10.2. Other versions will most likely work as well though If your distribution/platform does not have gdb-multiarch available arm-none-eabi-gdb will do the trick as well. Furthermore, some normal gdb binaries are built with multiarch capabilities as well, you can find further information about this in the sub chapters. cargo-binutils . Version 0.3.3 or newer. cargo-embed . Version 0.18.0 or newer. minicom on Linux and macOS. Tested version: 2.7.1. Other versions will most likely work as well though PuTTY on Windows. Next, follow OS-agnostic installation instructions for a few of the tools:","breadcrumbs":"Setting up a development environment » Tools","id":"16","title":"Tools"},"17":{"body":"Install rustup by following the instructions at https://rustup.rs . If you already have rustup installed double check that you are on the stable channel and your stable toolchain is up-to-date. rustc -V should return a date newer than the one shown below: $ rustc -V\nrustc 1.53.0 (53cb7b09b 2021-06-17)","breadcrumbs":"Setting up a development environment » rustc & Cargo","id":"17","title":"rustc & Cargo"},"18":{"body":"$ rustup component add llvm-tools $ cargo install cargo-binutils --vers 0.3.3 $ cargo size --version\ncargo-size 0.3.3","breadcrumbs":"Setting up a development environment » cargo-binutils","id":"18","title":"cargo-binutils"},"19":{"body":"In order to install cargo-embed, first install its prerequisites (note: these instructions are part of the more general probe-rs embedded debugging toolkit). Then install it with cargo: $ cargo install cargo-embed --vers 0.18.0 $ cargo embed --version\ncargo-embed 0.18.0\ngit commit: crates.io","breadcrumbs":"Setting up a development environment » cargo-embed","id":"19","title":"cargo-embed"},"2":{"body":"Beginner friendly. No previous experience with microcontrollers or embedded systems is required. Hands on. Plenty of exercises to put the theory into practice. You will be doing most of the work here. Tool centered. We'll make plenty use of tooling to ease development. \"Real\" debugging, with GDB, and logging will be introduced early on. Using LEDs as a debugging mechanism has no place here.","breadcrumbs":"Introduction » Approach","id":"2","title":"Approach"},"20":{"body":"Since this book also contains some small Rust code bases used in various chapters you will also have to download its source code. You can do this in one of the following ways: Visit the repository , click the green \"Code\" button and then the \"Download Zip\" one Clone it using git (if you know git you presumably already have it installed) from the same repository as linked in the zip approach","breadcrumbs":"Setting up a development environment » This repository","id":"20","title":"This repository"},"21":{"body":"Now follow the instructions specific to the OS you are using: Linux Windows macOS","breadcrumbs":"Setting up a development environment » OS specific instructions","id":"21","title":"OS specific instructions"},"22":{"body":"Here are the installation commands for a few Linux distributions.","breadcrumbs":"Setting up a development environment » Linux » Linux","id":"22","title":"Linux"},"23":{"body":"NOTE gdb-multiarch is the GDB command you'll use to debug your ARM Cortex-M programs $ sudo apt-get install \\ gdb-multiarch \\ minicom","breadcrumbs":"Setting up a development environment » Linux » Ubuntu 20.04 or newer / Debian 10 or newer","id":"23","title":"Ubuntu 20.04 or newer / Debian 10 or newer"},"24":{"body":"NOTE gdb is the GDB command you'll use to debug your ARM Cortex-M programs $ sudo dnf install \\ gdb \\ minicom","breadcrumbs":"Setting up a development environment » Linux » Fedora 32 or newer","id":"24","title":"Fedora 32 or newer"},"25":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs $ sudo pacman -S \\ arm-none-eabi-gdb \\ minicom","breadcrumbs":"Setting up a development environment » Linux » Arch Linux","id":"25","title":"Arch Linux"},"26":{"body":"NOTE arm-none-eabi-gdb is the GDB command you'll use to debug your ARM Cortex-M programs For distros that don't have packages for ARM's pre-built toolchain , download the \"Linux 64-bit\" file and put its bin directory on your path. Here's one way to do it: $ mkdir -p ~/local && cd ~/local\n$ tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 Then, use your editor of choice to append to your PATH in the appropriate shell init file (e.g. ~/.zshrc or ~/.bashrc): PATH=$PATH:$HOME/local/gcc-arm-none-eabi-9-2020-q2-update/bin","breadcrumbs":"Setting up a development environment » Linux » Other distros","id":"26","title":"Other distros"},"27":{"body":"These rules let you use USB devices like the micro:bit without root privilege, i.e. sudo. Create this file in /etc/udev/rules.d with the content shown below. $ cat /etc/udev/rules.d/99-microbit.rules # CMSIS-DAP for microbit\nSUBSYSTEM==\"usb\", ATTR{idVendor}==\"0d28\", ATTR{idProduct}==\"0204\", MODE:=\"666\" Then reload the udev rules with: $ sudo udevadm control --reload-rules If you had any board plugged to your computer, unplug them and then plug them in again. Now, go to the next section .","breadcrumbs":"Setting up a development environment » Linux » udev rules","id":"27","title":"udev rules"},"28":{"body":"","breadcrumbs":"Setting up a development environment » Windows » Windows","id":"28","title":"Windows"},"29":{"body":"ARM provides .exe installers for Windows. Grab one from here , and follow the instructions. Just before the installation process finishes tick/select the \"Add path to environment variable\" option. Then verify that the tools are in your %PATH%: $ arm-none-eabi-gcc -v\n(..)\ngcc version 5.4.1 20160919 (release) (..)","breadcrumbs":"Setting up a development environment » Windows » arm-none-eabi-gdb","id":"29","title":"arm-none-eabi-gdb"},"3":{"body":"What's out of scope for this book: Teaching Rust. There's plenty of material on that topic already. We'll focus on microcontrollers and embedded systems. Being a comprehensive text about electric circuit theory or electronics. We'll just cover the minimum required to understand how some devices work. Covering details such as linker scripts and the boot process. For example, we'll use existing tools to help get your code onto your board, but not go into detail about how those tools work. Also I don't intend to port this material to other development boards; this book will make exclusive use of the micro:bit development board.","breadcrumbs":"Introduction » Non-goals","id":"3","title":"Non-goals"},"30":{"body":"Download the latest putty.exe from this site and place it somewhere in your %PATH%. Now, go to the next section .","breadcrumbs":"Setting up a development environment » Windows » PuTTY","id":"30","title":"PuTTY"},"31":{"body":"All the tools can be installed using Homebrew : $ # ARM GCC debugger\n$ brew install arm-none-eabi-gdb $ # Minicom\n$ brew install minicom That's all! Go to the next section .","breadcrumbs":"Setting up a development environment » macOS » macOS","id":"31","title":"macOS"},"32":{"body":"Let's verify that all the tools were installed correctly.","breadcrumbs":"Setting up a development environment » Verify the installation » Verify the installation","id":"32","title":"Verify the installation"},"33":{"body":"","breadcrumbs":"Setting up a development environment » Verify the installation » Linux only","id":"33","title":"Linux only"},"34":{"body":"Connect the micro:bit to your computer using a USB cable. The micro:bit should now appear as a USB device (file) in /dev/bus/usb. Let's find out how it got enumerated: $ lsusb | grep -i \"NXP ARM mbed\"\nBus 001 Device 065: ID 0d28:0204 NXP ARM mbed\n$ # ^^^ ^^^ In my case, the micro:bit got connected to the bus #1 and got enumerated as the device #65. This means the file /dev/bus/usb/001/065 is the micro:bit. Let's check its permissions: $ ls -l /dev/bus/usb/001/065\ncrw-rw-rw-. 1 root root 189, 64 Sep 5 14:27 /dev/bus/usb/001/065 The permissions should be crw-rw-rw-. If it's not ... then check your udev rules and try re-loading them with: $ sudo udevadm control --reload-rules","breadcrumbs":"Setting up a development environment » Verify the installation » Verify permissions","id":"34","title":"Verify permissions"},"35":{"body":"","breadcrumbs":"Setting up a development environment » Verify the installation » All","id":"35","title":"All"},"36":{"body":"First, connect the micro:bit to your Computer using a USB cable. At least an orange LED right next to the USB port of the micro:bit should light up. Furthermore, if you have never flashed another program on to your micro:bit, the default program the micro:bit ships with should start blinking the red LEDs on its back, you can ignore them. Next up you will have to modify Embed.toml in the src/03-setup directory of the book's source code. In the default.general section you will find two commented out chip variants: [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 If you are working with the micro:bit v2 board uncomment the first, for the v1 uncomment the second line. Next run one of these commands: $ # make sure you are in src/03-setup of the books source code\n$ # If you are working with micro:bit v2\n$ rustup target add thumbv7em-none-eabihf\n$ cargo embed --target thumbv7em-none-eabihf $ # If you are working with micro:bit v1\n$ rustup target add thumbv6m-none-eabi\n$ cargo embed --target thumbv6m-none-eabi If everything works correctly cargo-embed should first compile the small example program in this directory, then flash it and finally open a nice text based user interface that prints Hello World. (If it does not, check out general troubleshooting instructions.) This output is coming from the small Rust program you just flashed on to your micro:bit. Everything is working properly and you can continue with the next chapters!","breadcrumbs":"Setting up a development environment » Verify the installation » Verifying cargo-embed","id":"36","title":"Verifying cargo-embed"},"37":{"body":"All code in this book assumes that you use a simple terminal to build your code, run it, and interact with it. It also makes no assumption about your text editor. However, you may have your favourite IDEs, providing you auto-complete, type annotation, your preferred shortcuts and much more. This section explains how to get the most out of your IDE using the code obtained from this book's repo.","breadcrumbs":"Setting up a development environment » Setting up your IDE » Getting the most out of your IDE","id":"37","title":"Getting the most out of your IDE"},"38":{"body":"Some IDEs fail to understand the code, because they fail to determine whether a term is defined in the microbit or microbit-v2 codebase. If you fail to get auto-completion to work, you may want to try to edit the Cargo.toml files you encounter through this book, and remove all references to the version of microbit you are not using. That is: in the Cargo.toml file you must remove the dependency and features you do not use (the part guarded by #[cfg(feature = \"vI\")] and the guard itself)","breadcrumbs":"Setting up a development environment » Setting up your IDE » Auto-completion, type annotation, and more","id":"38","title":"Auto-completion, type annotation, and more"},"39":{"body":"Below, we explain how to configure your IDE to get the most out of this book. If your IDE is not listed below, please improve this book by adding a section, so that the next reader can get the best experience out of it.","breadcrumbs":"Setting up a development environment » Setting up your IDE » IDE configuration","id":"39","title":"IDE configuration"},"4":{"body":"The source of this book is in this repository . If you encounter any typo or problem with the code report it on the issue tracker .","breadcrumbs":"Introduction » Reporting problems","id":"4","title":"Reporting problems"},"40":{"body":"When editing the IntelliJ build configuration, here are a few non-default values: You should edit the command. When this book tells you to run cargo embed FLAGS, You'll need to replace the default value run by the command embed FLAGS, You should enable \"Emulate terminal in output console\". Otherwise, your program will fail to print text to a terminal You should ensure that the working directory is microbit/src/N-name, with N-name being the directory of the chapter you are reading. You can not run from the src directory since it contains no cargo file.","breadcrumbs":"Setting up a development environment » Setting up your IDE » How to build with IntelliJ","id":"40","title":"How to build with IntelliJ"},"41":{"body":"Let's get familiar with the hardware we'll be working with.","breadcrumbs":"Meet your hardware » Meet your hardware","id":"41","title":"Meet your hardware"},"42":{"body":"Here are some of the many components on the board: A microcontroller . A number of LEDs, most notably the LED matrix on the back Two user buttons as well as a reset button (the one next to the USB port). One USB port. A sensor that is both a magnetometer and an accelerometer Of these components, the most important is the microcontroller (sometimes shortened to \"MCU\" for \"microcontroller unit\"), which is the bigger of the two black squares sitting on the side of the board with the USB port. The MCU is what runs your code. You might sometimes read about \"programming a board\", when in reality what we are doing is programming the MCU that is installed on the board. If you happen to be interested in a more in detail description of the board you can checkout the micro:bit website . Since the MCU is so important, let's take a closer look at the one sitting on our board. Note that only one of the following two sections applies to your board, depending on whether you are working with a micro:bit v2 or v1.","breadcrumbs":"Meet your hardware » micro:bit","id":"42","title":"micro:bit"},"43":{"body":"Our MCU has 73 tiny metal pins sitting right underneath it (it's a so called aQFN73 chip). These pins are connected to traces , the little \"roads\" that act as the wires connecting components together on the board. The MCU can dynamically alter the electrical properties of the pins. This works similar to a light switch altering how electrical current flows through a circuit. By enabling or disabling electrical current to flow through a specific pin, an LED attached to that pin (via the traces) can be turned on and off. Each manufacturer uses a different part numbering scheme, but many will allow you to determine information about a component simply by looking at the part number. Looking at our MCU's part number (N52833 QIAAA0 2024AL, you probably cannot see it with your bare eye, but it is on the chip), the n at the front hints to us that this is a part manufactured by Nordic Semiconductor . Looking up the part number on their website we quickly find the product page . There we learn that our chip's main marketing point is that it is a \"Bluetooth Low Energy and 2.4 GHz SoC\" (SoC being short for \"System on a Chip\"), which explains the RF in the product name since RF is short for radio frequency. If we search through the documentation of the chip linked on the product page for a bit we find the product specification which contains chapter 10 \"Ordering Information\" dedicated to explaining the weird chip naming. Here we learn that: The N52 is the MCU's series, indicating that there are other nRF52 MCUs The 833 is the part code The QI is the package code, short for aQFN73 The AA is the variant code, indicating how much RAM and flash memory the MCU has, in our case 512 kilobyte flash and 128 kilobyte RAM The A0 is the build code, indicating the hardware version (A) as well as the product configuration (0) The 2024AL is a tracking code, hence it might differ on your chip The product specification does of course contain a lot more useful information about the chip, for example that it is based on an ARM® Cortex™-M4 32-bit processor.","breadcrumbs":"Meet your hardware » micro:bit v2 » Nordic nRF52833 (the \"nRF52\", micro:bit v2)","id":"43","title":"Nordic nRF52833 (the \"nRF52\", micro:bit v2)"},"44":{"body":"If our chip is manufactured by Nordic, then who is Arm? And if our chip is the nRF52833, what is the Cortex-M4? You might be surprised to hear that while \"Arm-based\" chips are quite popular, the company behind the \"Arm\" trademark ( Arm Holdings ) doesn't actually manufacture chips for purchase. Instead, their primary business model is to just design parts of chips. They will then license those designs to manufacturers, who will in turn implement the designs (perhaps with some of their own tweaks) in the form of physical hardware that can then be sold. Arm's strategy here is different from companies like Intel, which both designs and manufactures their chips. Arm licenses a bunch of different designs. Their \"Cortex-M\" family of designs are mainly used as the core in microcontrollers. For example, the Cortex-M4 (the core our chip is based on) is designed for low cost and low power usage. The Cortex-M7 is higher cost, but with more features and performance. Luckily, you don't need to know too much about different types of processors or Cortex designs for the sake of this book. However, you are hopefully now a bit more knowledgeable about the terminology of your device. While you are working specifically with an nRF52833, you might find yourself reading documentation and using tools for Cortex-M-based chips, as the nRF52833 is based on a Cortex-M design.","breadcrumbs":"Meet your hardware » micro:bit v2 » Arm? Cortex-M4?","id":"44","title":"Arm? Cortex-M4?"},"45":{"body":"Our MCU has 48 tiny metal pins sitting right underneath it (it's a so called QFN48 chip). These pins are connected to traces , the little \"roads\" that act as the wires connecting components together on the board. The MCU can dynamically alter the electrical properties of the pins. This works similar to a light switch altering how electrical current flows through a circuit. By enabling or disabling electrical current to flow through a specific pin, an LED attached to that pin (via the traces) can be turned on and off. Each manufacturer uses a different part numbering scheme, but many will allow you to determine information about a component simply by looking at the part number. Looking at our MCU's part number (N51822 QFAAH3 1951LN, you probably cannot see it with your bare eye, but it is on the chip), the n at the front hints to us that this is a part manufactured by Nordic Semiconductor . Looking up the part number on their website we quickly find the product page . There we learn that our chip's main marketing point is that it is a \"Bluetooth Low Energy and 2.4 GHz SoC\" (SoC being short for \"System on a Chip\"), which explains the RF in the product name since RF is short for radio frequency. If we search through the documentation of the chip linked on the product page for a bit we find the product specification which contains chapter 10 \"Ordering Information\" dedicated to explaining the weird chip naming. Here we learn that: The N51 is the MCU's series, indicating that there are other nRF51 MCUs The 822 is the part code The QF is the package code, in this case short for QFN48 The AA is the variant code, indicating how much RAM and flash memory the MCU has, in our case 256 kilobyte flash and 16 kilobyte RAM The H3 is the build code, indicating the hardware version (H) as well as the product configuration (3) The 1951LN is a tracking code, hence it might differ on your chip The product specification does of course contain a lot more useful information about the chip, for example that it is based on an ARM® Cortex™-M0 32-bit processor.","breadcrumbs":"Meet your hardware » micro:bit v1 » Nordic nRF51822 (the \"nRF51\", micro:bit v1)","id":"45","title":"Nordic nRF51822 (the \"nRF51\", micro:bit v1)"},"46":{"body":"If our chip is manufactured by Nordic, then who is Arm? And if our chip is the nRF51822, what is the Cortex-M0? You might be surprised to hear that while \"Arm-based\" chips are quite popular, the company behind the \"Arm\" trademark ( Arm Holdings ) doesn't actually manufacture chips for purchase. Instead, their primary business model is to just design parts of chips. They will then license those designs to manufacturers, who will in turn implement the designs (perhaps with some of their own tweaks) in the form of physical hardware that can then be sold. Arm's strategy here is different from companies like Intel, which both designs and manufactures their chips. Arm licenses a bunch of different designs. Their \"Cortex-M\" family of designs are mainly used as the core in microcontrollers. For example, the Cortex-M0 (the core our chip is based on) is designed for low cost and low power usage. The Cortex-M7 is higher cost, but with more features and performance. Luckily, you don't need to know too much about different types of processors or Cortex designs for the sake of this book. However, you are hopefully now a bit more knowledgeable about the terminology of your device. While you are working specifically with an nRF51822, you might find yourself reading documentation and using tools for Cortex-M-based chips, as the nRF51822 is based on a Cortex-M design.","breadcrumbs":"Meet your hardware » micro:bit v1 » Arm? Cortex-M0?","id":"46","title":"Arm? Cortex-M0?"},"47":{"body":"Before we dive into programming the micro:bit let's have a quick look at the libraries and terminology that will be important for all the future chapters.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Rust Embedded terminology","id":"47","title":"Rust Embedded terminology"},"48":{"body":"For any fully supported microcontroller/board with a microcontroller you will usually hear the following terms being used for their levels of abstraction:","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Abstraction layers","id":"48","title":"Abstraction layers"},"49":{"body":"The job of the PAC is to provide a safe (ish) direct interface to the peripherals of the chip, allowing you to configure every last bit however you want (of course also in wrong ways). Usually you only ever have to deal with the PAC if either the layers that are higher up don't fulfill your needs or when you are developing them. The PAC we are (implicitly) going to use is either the one for the nRF52 or for the nRF51 .","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Peripheral Access Crate (PAC)","id":"49","title":"Peripheral Access Crate (PAC)"},"5":{"body":"This Discovery book is just one of several embedded Rust resources provided by the Embedded Working Group . The full selection can be found at The Embedded Rust Bookshelf . This includes the list of Frequently Asked Questions .","breadcrumbs":"Introduction » Other embedded Rust resources","id":"5","title":"Other embedded Rust resources"},"50":{"body":"The job of the HAL is to build up on top of the chip's PAC and provide an abstraction that is actually usable for someone who does not know about all the special behaviour of this chip. Usually they abstract whole peripherals away into single structs that can for example be used to send data around via the peripheral. We are going to use the nRF52-hal or the nRF51-hal respectively.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » The Hardware Abstraction Layer (HAL)","id":"50","title":"The Hardware Abstraction Layer (HAL)"},"51":{"body":"The job of the BSP is to abstract a whole board (such as the micro:bit) away at once. That means it has to provide abstractions to use both the microcontroller as well as the sensors, LEDs etc. that might be present on the board. Quite often (especially with custom-made boards) you will just be working with a HAL for the chip and build the drivers for the sensors either yourself or search for them on crates.io. Luckily for us though, the micro:bit does actually have a BSP so we are going to use that on top of our HAL as well.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » The Board Support Crate (historically called Board Support Package, or BSP)","id":"51","title":"The Board Support Crate (historically called Board Support Package, or BSP)"},"52":{"body":"Next we are going to have a look at a very central piece of software in the Rust Embedded world: embedded-hal . As its name suggests it relates to the 2nd level of abstraction we got to know: the HALs. The idea behind embedded-hal is to provide a set of traits that describe behaviour which is usually shared across all implementations of a specific peripheral in all the HALs. For example one would always expect to have functions that are capable of turning the power on a pin either on or off. For example to switch an LED on and off on the board. This allows us to write a driver for, say a temperature sensor, that can be used on any chip for which an implementation of the embedded-hal traits exists, simply by writing the driver in such a way that it only relies on the embedded-hal traits. Drivers that are written in such a way are called platform agnostic and luckily for us most of the drivers on crates.io are actually platform agnostic.","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Unifying the layers","id":"52","title":"Unifying the layers"},"53":{"body":"If you want to learn more about these levels of abstraction, Franz Skarman, a.k.a. TheZoq2 , held a talk about this topic during Oxidize 2020, called An Overview of the Embedded Rust Ecosystem .","breadcrumbs":"Meet your hardware » Rust Embedded terminology » Further reading","id":"53","title":"Further reading"},"54":{"body":"Alright, let's start by building the following application: I'm going to give you a high level API to implement this app but don't worry we'll do low level stuff later on. The main goal of this chapter is to get familiar with the flashing and debugging process. The starter code is in the src directory of the book repository. Inside that directory there are more directories named after each chapter of this book. Most of those directories are starter Cargo projects. Now, jump into the src/05-led-roulette directory. Check the src/main.rs file: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_halt as _;\nuse microbit as _; #[entry]\nfn main() -> ! { let _y; let x = 42; _y = x; // infinite loop; just so we don't leave this stack frame loop {}\n} Microcontroller programs are different from standard programs in two aspects: #![no_std] and #![no_main]. The no_std attribute says that this program won't use the std crate, which assumes an underlying OS; the program will instead use the core crate, a subset of std that can run on bare metal systems (i.e., systems without OS abstractions like files and sockets). The no_main attribute says that this program won't use the standard main interface, which is tailored for command line applications that receive arguments. Instead of the standard main we'll use the entry attribute from the cortex-m-rt crate to define a custom entry point. In this program we have named the entry point \"main\", but any other name could have been used. The entry point function must have signature fn() -> !; this type indicates that the function can't return -- this means that the program never terminates. If you are a careful observer, you'll also notice there is a .cargo directory in the Cargo project as well. This directory contains a Cargo configuration file (.cargo/config) that tweaks the linking process to tailor the memory layout of the program to the requirements of the target device. This modified linking process is a requirement of the cortex-m-rt crate. Furthermore, there is also an Embed.toml file [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 [default.reset]\nhalt_afterwards = true [default.rtt]\nenabled = false [default.gdb]\nenabled = true This file tells cargo-embed that: we are working with either a nrf52833 or nrf51822, you will again have to remove the comments from the chip you are using, just like you did in chapter 3. we want to halt the chip after we flashed it so our program does not instantly jump to the loop we want to disable RTT, RTT being a protocol that allows the chip to send text to a debugger. You have in fact already seen RTT in action, it was the protocol that sent \"Hello World\" in chapter 3. we want to enable GDB, this will be required for the debugging procedure Alright, let's start by building this program.","breadcrumbs":"LED roulette » LED roulette","id":"54","title":"LED roulette"},"55":{"body":"The first step is to build our \"binary\" crate. Because the microcontroller has a different architecture than your computer we'll have to cross compile. Cross compiling in Rust land is as simple as passing an extra --target flag to rustcor Cargo. The complicated part is figuring out the argument of that flag: the name of the target. As we already know the microcontroller on the micro:bit v2 has a Cortex-M4F processor in it, the one on v1 a Cortex-M0. rustc knows how to cross-compile to the Cortex-M architecture and provides several different targets that cover the different processors families within that architecture: thumbv6m-none-eabi, for the Cortex-M0 and Cortex-M1 processors thumbv7m-none-eabi, for the Cortex-M3 processor thumbv7em-none-eabi, for the Cortex-M4 and Cortex-M7 processors thumbv7em-none-eabihf, for the Cortex-M4 F and Cortex-M7 F processors thumbv8m.main-none-eabi, for the Cortex-M33 and Cortex-M35P processors thumbv8m.main-none-eabihf, for the Cortex-M33 F and Cortex-M35P F processors For the micro:bit v2, we'll use the thumbv7em-none-eabihf target, for v1 the thumbv6m-none-eabi one. Before cross-compiling you have to download a pre-compiled version of the standard library (a reduced version of it, actually) for your target. That's done using rustup: # For micro:bit v2\n$ rustup target add thumbv7em-none-eabihf\n# For micro:bit v1\n$ rustup target add thumbv6m-none-eabi You only need to do the above step once; rustup will re-install a new standard library (rust-std component) whenever you update your toolchain. Therefore you can skip this step, if you have already added the necessary target while verifying your setup . With the rust-std component in place you can now cross compile the program using Cargo: # make sure you are in the `src/05-led-roulette` directory # For micro:bit v2\n$ cargo build --features v2 --target thumbv7em-none-eabihf Compiling semver-parser v0.7.0 Compiling typenum v1.12.0 Compiling cortex-m v0.6.3 (...) Compiling microbit-v2 v0.10.1 Finished dev [unoptimized + debuginfo] target(s) in 33.67s # For micro:bit v1\n$ cargo build --features v1 --target thumbv6m-none-eabi Compiling fixed v1.2.0 Compiling syn v1.0.39 Compiling cortex-m v0.6.3 (...) Compiling microbit v0.10.1 Finished dev [unoptimized + debuginfo] target(s) in 22.73s NOTE Be sure to compile this crate without optimizations. The provided Cargo.toml file and build command above will ensure optimizations are off. OK, now we have produced an executable. This executable won't blink any LEDs, it's just a simplified version that we will build upon later in the chapter. As a sanity check, let's verify that the produced executable is actually an ARM binary: # For micro:bit v2\n# equivalent to `readelf -h target/thumbv7em-none-eabihf/debug/led-roulette`\n$ cargo readobj --features v2 --target thumbv7em-none-eabihf --bin led-roulette -- --file-headers Finished dev [unoptimized + debuginfo] target(s) in 0.01s\nELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: ARM Version: 0x1 Entry point address: 0x117 Start of program headers: 52 (bytes into file) Start of section headers: 793112 (bytes into file) Flags: 0x5000400 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 4 Size of section headers: 40 (bytes) Number of section headers: 21 Section header string table index: 19 # For micro:bit v1\n# equivalent to `readelf -h target/thumbv6m-none-eabi/debug/led-roulette`\n$ cargo readobj --features v1 --target thumbv6m-none-eabi --bin led-roulette -- --file-headers Finished dev [unoptimized + debuginfo] target(s) in 0.01s\nELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: ARM Version: 0x1 Entry point address: 0xC1 Start of program headers: 52 (bytes into file) Start of section headers: 693196 (bytes into file) Flags: 0x5000200 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 4 Size of section headers: 40 (bytes) Number of section headers: 22 Section header string table index: 20 Next, we'll flash the program into our microcontroller.","breadcrumbs":"LED roulette » Build it » Build it","id":"55","title":"Build it"},"56":{"body":"Flashing is the process of moving our program into the microcontroller's (persistent) memory. Once flashed, the microcontroller will execute the flashed program every time it is powered on. In this case, our led-roulette program will be the only program in the microcontroller memory. By this I mean that there's nothing else running on the microcontroller: no OS, no \"daemon\", nothing. led-roulette has full control over the device. Flashing the binary itself is quite simple thanks to cargo embed. Before executing that command though, let's look into what it actually does. If you look at the side of your micro:bit with the USB connector facing upwards you will notice, that there are actually 2 black squares on there (on the micro:bit v2 there is a third and biggest one, which is a speaker), one is our MCU we already talked about but what purpose does the other one serve? The other chip has 3 main purposes: Provide power from the USB connector to our MCU Provide a serial to USB bridge for our MCU (we will look into that in a later chapter) Being a programmer/debugger (this is the relevant purpose for now) Basically this chip acts as a bridge between our computer (to which it is connected via USB) and the MCU (to which it is connected via traces and communicates with using the SWD protocol). This bridge enables us to flash new binaries on to the MCU, inspect its state via a debugger and other things. So lets flash it! # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf (...) Erasing sectors ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 4.21KiB/s (eta 0s ) Programming pages ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 2.71KiB/s (eta 0s ) Finished flashing in 0.608s # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi (...) Erasing sectors ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 4.14KiB/s (eta 0s ) Programming pages ✔ [00:00:00] [####################################################################################################################################################] 2.00KiB/ 2.00KiB @ 2.69KiB/s (eta 0s ) Finished flashing in 0.614s You will notice that cargo-embed blocks after outputting the last line, this is intended and you should not close it since we need it in this state for the next step: debugging it! Furthermore, you will have noticed that the cargo build and cargo embed are actually passed the same flags, this is because cargo embed actually executes the build and then flashes the resulting binary on to the chip, hence you can leave out the cargo build step in the future if you want to flash your code right away.","breadcrumbs":"LED roulette » Flash it » Flash it","id":"56","title":"Flash it"},"57":{"body":"","breadcrumbs":"LED roulette » Debug it » Debug it","id":"57","title":"Debug it"},"58":{"body":"Before we debug our little program let's take a moment to quickly understand what is actually happening here. In the previous chapter we already discussed the purpose of the second chip on the board as well as how it talks to our computer, but how can we actually use it? The little option default.gdb.enabled = true in Embed.toml made cargo-embed open a so-called \"GDB stub\" after flashing, this is a server that our GDB can connect to and send commands like \"set a breakpoint at address X\" to. The server can then decide on its own how to handle this command. In the case of the cargo-embed GDB stub it will forward the command to the debugging probe on the board via USB which then does the job of actually talking to the MCU for us.","breadcrumbs":"LED roulette » Debug it » How does this even work?","id":"58","title":"How does this even work?"},"59":{"body":"Since cargo-embed is blocking our current shell we can simply open a new one and cd back into our project directory. Once we are there we first have to open the binary in gdb like this: # For micro:bit v2\n$ gdb target/thumbv7em-none-eabihf/debug/led-roulette # For micro:bit v1\n$ gdb target/thumbv6m-none-eabi/debug/led-roulette NOTE : Depending on which GDB you installed you will have to use a different command to launch it, check out chapter 3 if you forgot which one it was. NOTE : If you are getting target/thumbv7em-none-eabihf/debug/led-roulette: No such file or directory error, try adding ../../ to the file path, for example: $ gdb ../../target/thumbv7em-none-eabihf/debug/led-roulette This is caused by each example project being in a workspace that contains the entire book, and workspaces have a single target directory. Check out Workspaces chapter in Rust Book for more. NOTE : If cargo-embed prints a lot of warnings here don't worry about it. As of now it does not fully implement the GDB protocol and thus might not recognize all the commands your GDB is sending to it, as long as it does not crash, you are fine. Next we will have to connect to the GDB stub. It runs on localhost:1337 per default so in order to connect to it run the following: (gdb) target remote :1337\nRemote debugging using :1337\n0x00000116 in nrf52833_pac::{{impl}}::fmt (self=0xd472e165, f=0x3c195ff7) at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/nrf52833-pac-0.9.0/src/lib.rs:157\n157 #[derive(Copy, Clone, Debug)] Next what we want to do is get to the main function of our program. We will do this by first setting a breakpoint there and the continuing program execution until we hit the breakpoint: (gdb) break main\nBreakpoint 1 at 0x104: file src/05-led-roulette/src/main.rs, line 9.\nNote: automatically using hardware breakpoints for read-only addresses.\n(gdb) continue\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9\n9 #[entry] Breakpoints can be used to stop the normal flow of a program. The continue command will let the program run freely until it reaches a breakpoint. In this case, until it reaches the main function because there's a breakpoint there. Note that GDB output says \"Breakpoint 1\". Remember that our processor can only use a limited amount of these breakpoints, so it's a good idea to pay attention to these messages. If you happen to run out of breakpoints, you can list all the current ones with info break and delete desired ones with delete . For a nicer debugging experience, we'll be using GDB's Text User Interface (TUI). To enter into that mode, on the GDB shell enter the following command: (gdb) layout src NOTE : Apologies Windows users. The GDB shipped with the GNU ARM Embedded Toolchain doesn't support this TUI mode :-(. GDB session GDB's break command does not only work for function names, it can also break at certain line numbers. If we wanted to break in line 13 we can simply do: (gdb) break 13\nBreakpoint 2 at 0x110: file src/05-led-roulette/src/main.rs, line 13.\n(gdb) continue\nContinuing. Breakpoint 2, led_roulette::__cortex_m_rt_main () at src/05-led-roulette/src/main.rs:13\n(gdb) At any point you can leave the TUI mode using the following command: (gdb) tui disable We are now \"on\" the _y = x statement; that statement hasn't been executed yet. This means that x is initialized but _y is not. Let's inspect those stack/local variables using the print command: (gdb) print x\n$1 = 42\n(gdb) print &x\n$2 = (*mut i32) 0x20003fe8\n(gdb) As expected, x contains the value 42. The command print &x prints the address of the variable x. The interesting bit here is that GDB output shows the type of the reference: i32*, a pointer to an i32 value. If we want to continue the program execution line by line we can do that using the next command so let's proceed to the loop {} statement: (gdb) next\n16 loop {} And _y should now be initialized. (gdb) print _y\n$5 = 42 Instead of printing the local variables one by one, you can also use the info locals command: (gdb) info locals\nx = 42\n_y = 42\n(gdb) If we use next again on top of the loop {} statement, we'll get stuck because the program will never pass that statement. Instead, we'll switch to the disassemble view with the layout asm command and advance one instruction at a time using stepi. You can always switch back into Rust source code view later by issuing the layout src command again. NOTE : If you used the next or continue command by mistake and GDB got stuck, you can get unstuck by hitting Ctrl+C. (gdb) layout asm GDB session If you are not using the TUI mode, you can use the disassemble /m command to disassemble the program around the line you are currently at. (gdb) disassemble /m\nDump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E:\n10 fn main() -> ! { 0x0000010a <+0>: sub sp, #8 0x0000010c <+2>: movs r0, #42 ; 0x2a 11 let _y;\n12 let x = 42; 0x0000010e <+4>: str r0, [sp, #0] 13 _y = x; 0x00000110 <+6>: str r0, [sp, #4] 14\n15 // infinite loop; just so we don't leave this stack frame\n16 loop {}\n=> 0x00000112 <+8>: b.n 0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10> 0x00000114 <+10>: b.n 0x114 <_ZN12led_roulette18__cortex_m_rt_main17h3e25e3afbec4e196E+10> End of assembler dump. See the fat arrow => on the left side? It shows the instruction the processor will execute next. If not inside the TUI mode on each stepi command GDB will print the statement and the line number of the instruction the processor will execute next. (gdb) stepi\n16 loop {}\n(gdb) stepi\n16 loop {} One last trick before we move to something more interesting. Enter the following commands into GDB: (gdb) monitor reset\n(gdb) c\nContinuing. Breakpoint 1, led_roulette::__cortex_m_rt_main_trampoline () at src/05-led-roulette/src/main.rs:9\n9 #[entry]\n(gdb) We are now back at the beginning of main! monitor reset will reset the microcontroller and stop it right at the program entry point. The following continue command will let the program run freely until it reaches the main function that has a breakpoint on it. This combo is handy when you, by mistake, skipped over a part of the program that you were interested in inspecting. You can easily roll back the state of your program back to its very beginning. The fine print : This reset command doesn't clear or touch RAM. That memory will retain its values from the previous run. That shouldn't be a problem though, unless your program behavior depends on the value of uninitialized variables but that's the definition of Undefined Behavior (UB). We are done with this debug session. You can end it with the quit command. (gdb) quit\nA debugging session is active. Inferior 1 [Remote target] will be detached. Quit anyway? (y or n) y\nDetaching from program: $PWD/target/thumbv7em-none-eabihf/debug/led-roulette, Remote target\nEnding remote debugging.\n[Inferior 1 (Remote target) detached] NOTE : If the default GDB CLI is not to your liking check out gdb-dashboard . It uses Python to turn the default GDB CLI into a dashboard that shows registers, the source view, the assembly view and other things. If you want to learn more about what GDB can do, check out the section How to use GDB . What's next? The high level API I promised.","breadcrumbs":"LED roulette » Debug it » Let's debug!","id":"59","title":"Let's debug!"},"6":{"body":"","breadcrumbs":"Background » Background","id":"6","title":"Background"},"60":{"body":"","breadcrumbs":"LED roulette » Light it up » Light it up","id":"60","title":"Light it up"},"61":{"body":"In this chapter we are going to make one of the many LEDs on the back of the micro:bit light up since this is basically the \"Hello World\" of embedded programming. In order to get this task done we will use one of the traits provided by embedded-hal, specifically the OutputPin trait which allows us to turn a pin on or off.","breadcrumbs":"LED roulette » Light it up » embedded-hal","id":"61","title":"embedded-hal"},"62":{"body":"On the back of the micro:bit you can see a 5x5 square of LEDs, usually called an LED matrix. This matrix alignment is used so that instead of having to use 25 separate pins to drive every single one of the LEDs, we can just use 10 (5+5) pins in order to control which column and which row of our matrix lights up. NOTE that the micro:bit v1 team implemented this a little differently. Their schematic page says that it is actually implemented as a 3x9 matrix but a few columns simply remain unused. Usually in order to determine which specific pins we have to control in order to light a specific LED up we would now have to read the micro:bit v2 schematic or the micro:bit v1 schematic respectively. Luckily for us though we can use the aforementioned micro:bit BSP which abstracts all of this nicely away from us.","breadcrumbs":"LED roulette » Light it up » The micro:bit LEDs","id":"62","title":"The micro:bit LEDs"},"63":{"body":"The code required to light up an LED in the matrix is actually quite simple but it requires a bit of setup. First take a look at it and then we can go through it step by step: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse panic_halt as _;\nuse microbit::board::Board;\nuse microbit::hal::prelude::*; #[entry]\nfn main() -> ! { let mut board = Board::take().unwrap(); board.display_pins.col1.set_low().unwrap(); board.display_pins.row1.set_high().unwrap(); loop {}\n} The first few lines until the main function just do some basic imports and setup we already looked at before. However, the main function looks pretty different to what we have seen up to now. The first line is related to how most HALs written in Rust work internally. As discussed before they are built on top of PAC crates which own (in the Rust sense) all the peripherals of a chip. let mut board = Board::take().unwrap(); basically takes all these peripherals from the PAC and binds them to a variable. In this specific case we are not only working with a HAL but with an entire BSP, so this also takes ownership of the Rust representation of the other chips on the board. NOTE : If you are wondering why we have to call unwrap() here, in theory it is possible for take() to be called more than once. This would lead to the peripherals being represented by two separate variables and thus lots of possible confusing behaviour because two variables modify the same resource. In order to avoid this, PACs are implemented in a way that it would panic if you tried to take the peripherals twice. Now we can light the LED connected to row1, col1 up by setting the row1 pin to high (i.e. switching it on). The reason we can leave col1 set to low is because of how the LED matrix circuit works. Furthermore, embedded-hal is designed in a way that every operation on hardware can possibly return an error, even just toggling a pin on or off. Since that is highly unlikely in our case, we can just unwrap() the result.","breadcrumbs":"LED roulette » Light it up » Actually lighting it up!","id":"63","title":"Actually lighting it up!"},"64":{"body":"Testing our little program is quite simple. First put it into src/main.rs. Afterwards we simply have to run the cargo embed command from the last section again, let it flash and just like before. Then open our GDB and connect to the GDB stub: $ # Your GDB debug command from the last section\n(gdb) target remote :1337\nRemote debugging using :1337\ncortex_m_rt::Reset () at /home/nix/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rt-0.6.12/src/lib.rs:489\n489 pub unsafe extern \"C\" fn Reset() -> ! {\n(gdb) If we now let the program run via the GDB continue command, one of the LEDs on the back of the micro:bit should light up.","breadcrumbs":"LED roulette » Light it up » Testing it","id":"64","title":"Testing it"},"65":{"body":"","breadcrumbs":"LED roulette » It blinks » It blinks","id":"65","title":"It blinks"},"66":{"body":"Now we're going to take a brief look into delay abstractions provided by embedded-hal before combining this with the GPIO abstractions from the previous chapter in order to finally make an LED blink. embedded-hal provides us with two abstractions to delay the execution of our program: DelayUs and DelayMs . Both of them essentially work the exact same way except that they accept different units for their delay function. Inside our MCU, several so-called \"timers\" exist. They can do various things regarding time for us, including simply pausing the execution of our program for a fixed amount of time. A very simple delay-based program that prints something every second might for example look like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _;\nuse microbit::board::Board;\nuse microbit::hal::timer::Timer;\nuse microbit::hal::prelude::*; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); loop { timer.delay_ms(1000u16); rprintln!(\"1000 ms passed\"); }\n} Note that we changed our panic implementation from panic_halt to panic_rtt_target here. This will require you to uncomment the two RTT lines from Cargo.toml and comment the panic-halt one out, since Rust only allows one panic implementation at a time. In order to actually see the prints we have to change Embed.toml like this: [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 [default.reset]\nhalt_afterwards = false [default.rtt]\nenabled = true [default.gdb]\nenabled = false And now after putting the code into src/main.rs and another quick cargo embed (again with the same flags you used before) you should see \"1000 ms passed\" being sent to your console every second from your MCU.","breadcrumbs":"LED roulette » It blinks » Delaying","id":"66","title":"Delaying"},"67":{"body":"Now we've arrived at the point where we can combine our new knowledge about GPIO and delay abstractions in order to actually make an LED on the back of the micro:bit blink. The resulting program is really just a mash-up of the one above and the one that turned an LED on in the last section and looks like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _;\nuse microbit::board::Board;\nuse microbit::hal::timer::Timer;\nuse microbit::hal::prelude::*; #[entry]\nfn main() -> ! { rtt_init_print!(); let mut board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); board.display_pins.col1.set_low().unwrap(); let mut row1 = board.display_pins.row1; loop { row1.set_low().unwrap(); rprintln!(\"Dark!\"); timer.delay_ms(1_000_u16); row1.set_high().unwrap(); rprintln!(\"Light!\"); timer.delay_ms(1_000_u16); }\n} And after putting the code into src/main.rs and a final cargo embed (with the proper flags) you should see the LED we light up before blinking as well as a print, every time the LED changes from off to on and vice versa.","breadcrumbs":"LED roulette » It blinks » Blinking","id":"67","title":"Blinking"},"68":{"body":"You are now well armed to face a challenge! Your task will be to implement the application I showed you at the beginning of this chapter. If you can't exactly see what's happening here it is in a much slower version: Since working with the LED pins separately is quite annoying (especially if you have to use basically all of them like here) you can use the display API provided by the BSP. It works like this: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse microbit::{ board::Board, display::blocking::Display, hal::{prelude::*, Timer},\n}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let light_it_all = [ [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], ]; loop { // Show light_it_all for 1000ms display.show(&mut timer, light_it_all, 1000); // clear the display again display.clear(); timer.delay_ms(1000_u32); }\n} Equipped with this API your task basically boils down to just having to calculate the proper image matrix and passing it into the BSP.","breadcrumbs":"LED roulette » The challenge » The challenge","id":"68","title":"The challenge"},"69":{"body":"What solution did you come up with? Here's mine, it's probably one of the simplest (but of course not most beautiful) way to generate the required matrix: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse microbit::{ board::Board, display::blocking::Display, hal::Timer,\n}; const PIXELS: [(usize, usize); 16] = [ (0,0), (0,1), (0,2), (0,3), (0,4), (1,4), (2,4), (3,4), (4,4), (4,3), (4,2), (4,1), (4,0), (3,0), (2,0), (1,0)\n]; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = Board::take().unwrap(); let mut timer = Timer::new(board.TIMER0); let mut display = Display::new(board.display_pins); let mut leds = [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], ]; let mut last_led = (0,0); loop { for current_led in PIXELS.iter() { leds[last_led.0][last_led.1] = 0; leds[current_led.0][current_led.1] = 1; display.show(&mut timer, leds, 30); last_led = *current_led; } }\n} One more thing! Check that your solution also works when compiled in \"release\" mode: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf --release (...) # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi --release (...) If you want to debug your \"release\" mode binary you'll have to use a different GDB command: # For micro:bit v2\n$ gdb target/thumbv7em-none-eabihf/release/led-roulette # For micro:bit v1\n$ gdb target/thumbv6m-none-eabi/release/led-roulette Binary size is something we should always keep an eye on! How big is your solution? You can check that using the size command on the release binary: # For micro:bit v2\n$ cargo size --features v2 --target thumbv7em-none-eabihf -- -A Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 256 0x0\n.text 26984 0x100\n.rodata 2732 0x6a68\n.data 0 0x20000000\n.bss 1092 0x20000000\n.uninit 0 0x20000444\n.debug_abbrev 33941 0x0\n.debug_info 494113 0x0\n.debug_aranges 23528 0x0\n.debug_ranges 130824 0x0\n.debug_str 498781 0x0\n.debug_pubnames 143351 0x0\n.debug_pubtypes 124464 0x0\n.ARM.attributes 58 0x0\n.debug_frame 69128 0x0\n.debug_line 290580 0x0\n.debug_loc 1449 0x0\n.comment 109 0x0\nTotal 1841390 $ cargo size --features v2 --target thumbv7em-none-eabihf --release -- -A Finished release [optimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 256 0x0\n.text 6332 0x100\n.rodata 648 0x19bc\n.data 0 0x20000000\n.bss 1076 0x20000000\n.uninit 0 0x20000434\n.debug_loc 9036 0x0\n.debug_abbrev 2754 0x0\n.debug_info 96460 0x0\n.debug_aranges 1120 0x0\n.debug_ranges 11520 0x0\n.debug_str 71325 0x0\n.debug_pubnames 32316 0x0\n.debug_pubtypes 29294 0x0\n.ARM.attributes 58 0x0\n.debug_frame 2108 0x0\n.debug_line 19303 0x0\n.comment 109 0x0\nTotal 283715 # micro:bit v1\n$ cargo size --features v1 --target thumbv6m-none-eabi -- -A Finished dev [unoptimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 168 0x0\n.text 28584 0xa8\n.rodata 2948 0x7050\n.data 0 0x20000000\n.bss 1092 0x20000000\n.uninit 0 0x20000444\n.debug_abbrev 30020 0x0\n.debug_info 373392 0x0\n.debug_aranges 18344 0x0\n.debug_ranges 89656 0x0\n.debug_str 375887 0x0\n.debug_pubnames 115633 0x0\n.debug_pubtypes 86658 0x0\n.ARM.attributes 50 0x0\n.debug_frame 54144 0x0\n.debug_line 237714 0x0\n.debug_loc 1499 0x0\n.comment 109 0x0\nTotal 1415898 $ cargo size --features v1 --target thumbv6m-none-eabi --release -- -A Finished release [optimized + debuginfo] target(s) in 0.02s\nled-roulette :\nsection size addr\n.vector_table 168 0x0\n.text 4848 0xa8\n.rodata 648 0x1398\n.data 0 0x20000000\n.bss 1076 0x20000000\n.uninit 0 0x20000434\n.debug_loc 9705 0x0\n.debug_abbrev 3235 0x0\n.debug_info 61908 0x0\n.debug_aranges 1208 0x0\n.debug_ranges 5784 0x0\n.debug_str 57358 0x0\n.debug_pubnames 22959 0x0\n.debug_pubtypes 18891 0x0\n.ARM.attributes 50 0x0\n.debug_frame 2316 0x0\n.debug_line 18444 0x0\n.comment 19 0x0\nTotal 208617 NOTE The Cargo project is already configured to build the release binary using LTO. Know how to read this output? The text section contains the program instructions. On the other hand, the data and bss sections contain variables statically allocated in RAM (static variables). If you remember back in the specification of the microcontroller on your micro:bit, you should notice that its flash memory is actually far too small to contain this binary, so how is this possible? As we can see from the size statistics most of the binary is actually made up of debugging related sections, those are however not flashed to the microcontroller at any time, after all they aren't relevant for the execution.","breadcrumbs":"LED roulette » My solution » My solution","id":"69","title":"My solution"},"7":{"body":"A microcontroller is a system on a chip. Whereas your computer is made up of several discrete components: a processor, RAM, storage, an Ethernet port, etc.; a microcontroller has all those types of components built into a single \"chip\" or package. This makes it possible to build systems with fewer parts.","breadcrumbs":"Background » What's a microcontroller?","id":"7","title":"What's a microcontroller?"},"70":{"body":"This is what we'll be using. I hope your computer has one! Nah, don't worry. This connector, the DE-9, went out of fashion on PCs quite some time ago; it got replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but with the communication protocol that this cable is/was usually used for. So what's this serial communication ? It's an asynchronous communication protocol where two devices exchange data serially , as in one bit at a time, using two data lines (plus a common ground). The protocol is asynchronous in the sense that neither of the shared lines carries a clock signal. Instead, both parties must agree on how fast data will be sent along the wire before the communication occurs. This protocol allows duplex communication as data can be sent from A to B and from B to A simultaneously. We'll be using this protocol to exchange data between the microcontroller and your computer. Now you might be asking yourself why exactly we aren't using RTT for this like we did before. RTT is a protocol that is meant to be used solely for debugging. You will most definitely not be able to find a device that actually uses RTT to communicate with some other device in production. However, serial communication is used quite often. For example some GPS receivers send the positioning information they receive via serial communication. The next practical question you probably want to ask is: How fast can we send data through this protocol? This protocol works with frames. Each frame has one start bit, 5 to 9 bits of payload (data) and 1 to 2 stop bits . The speed of the protocol is known as baud rate and it's quoted in bits per second (bps). Common baud rates are: 9600, 19200, 38400, 57600 and 115200 bps. To actually answer the question: With a common configuration of 1 start bit, 8 bits of data, 1 stop bit and a baud rate of 115200 bps one can, in theory, send 11,520 frames per second. Since each one frame carries a byte of data that results in a data rate of 11.52 KB/s. In practice, the data rate will probably be lower because of processing times on the slower side of the communication (the microcontroller). Today's computers don't support the serial communication protocol. So you can't directly connect your computer to the microcontroller. Luckily for us though, the debug probe on the micro:bit has a so-called USB-to-serial converter. This means that the converter will sit between the two and expose a serial interface to the microcontroller and a USB interface to your computer. The microcontroller will see your computer as another serial device and your computer will see the microcontroller as a virtual serial device. Now, let's get familiar with the serial module and the serial communication tools that your OS offers. Pick a route: *nix Windows","breadcrumbs":"Serial communication » Serial communication","id":"70","title":"Serial communication"},"71":{"body":"","breadcrumbs":"Serial communication » *nix tooling » *nix tooling","id":"71","title":"*nix tooling"},"72":{"body":"If you connect the micro:bit board to your computer you should see a new TTY device appear in /dev. $ # Linux\n$ dmesg | tail | grep -i tty\n[63712.446286] cdc_acm 1-1.7:1.1: ttyACM0: USB ACM device This is the USB <-> Serial device. On Linux, it's named tty* (usually ttyACM* or ttyUSB*). On Mac OS ls /dev/cu.usbmodem* will show the serial device. But what exactly is ttyACM0? It's a file of course! Everything is a file in *nix: $ ls -l /dev/ttyACM0\ncrw-rw----. 1 root plugdev 166, 0 Jan 21 11:56 /dev/ttyACM0 You can send out data by simply writing to this file: $ echo 'Hello, world!' > /dev/ttyACM0 You should see the orange LED on the micro:bit, right next to the USB port, blink for a moment, whenever you enter this command.","breadcrumbs":"Serial communication » *nix tooling » Connecting the micro:bit board","id":"72","title":"Connecting the micro:bit board"},"73":{"body":"We'll use the program minicom to interact with the serial device using the keyboard. We must configure minicom before we use it. There are quite a few ways to do that but we'll use a .minirc.dfl file in the home directory. Create a file in ~/.minirc.dfl with the following contents: $ cat ~/.minirc.dfl\npu baudrate 115200\npu bits 8\npu parity N\npu stopbits 1\npu rtscts No\npu xonxoff No NOTE Make sure this file ends in a newline! Otherwise, minicom will fail to read it. That file should be straightforward to read (except for the last two lines), but nonetheless let's go over it line by line: pu baudrate 115200. Sets baud rate to 115200 bps. pu bits 8. 8 bits per frame. pu parity N. No parity check. pu stopbits 1. 1 stop bit. pu rtscts No. No hardware control flow. pu xonxoff No. No software control flow. Once that's in place, we can launch minicom. $ # NOTE you may need to use a different device here\n$ minicom -D /dev/ttyACM0 -b 115200 This tells minicom to open the serial device at /dev/ttyACM0 and set its baud rate to 115200. A text-based user interface (TUI) will pop out. You can now send data using the keyboard! Go ahead and type something. Note that the text UI will not echo back what you type. If you pay attention to the yellow LED on top of the micro:bit though, you will notice that it blinks whenever you type something.","breadcrumbs":"Serial communication » *nix tooling » minicom","id":"73","title":"minicom"},"74":{"body":"minicom exposes commands via keyboard shortcuts. On Linux, the shortcuts start with Ctrl+A. On Mac, the shortcuts start with the Meta key. Some useful commands below: Ctrl+A + Z. Minicom Command Summary Ctrl+A + C. Clear the screen Ctrl+A + X. Exit and reset Ctrl+A + Q. Quit with no reset NOTE Mac users: In the above commands, replace Ctrl+A with Meta.","breadcrumbs":"Serial communication » *nix tooling » minicom commands","id":"74","title":"minicom commands"},"75":{"body":"Start by unplugging your micro:bit. Before plugging the micro:bit, run the following command on the terminal: $ mode It will print a list of devices that are connected to your computer. The ones that start with COM in their names are serial devices. This is the kind of device we'll be working with. Take note of all the COM ports mode outputs before plugging the serial module. Now, plug in the micro:bit and run the mode command again. If you see a new COM port appear on the list, then that's the COM port assigned to the serial functionality on the micro:bit. Now launch putty. A GUI will pop out. On the starter screen, which should have the \"Session\" category open, pick \"Serial\" as the \"Connection type\". On the \"Serial line\" field enter the COM device you got on the previous step, for example COM3. Next, pick the \"Connection/Serial\" category from the menu on the left. On this new view, make sure that the serial port is configured as follows: \"Speed (baud)\": 115200 \"Data bits\": 8 \"Stop bits\": 1 \"Parity\": None \"Flow control\": None Finally, click the Open button. A console will show up now: If you type on this console, the yellow LED on top of the micro:bit will blink. Each keystroke should make the LED blink once. Note that the console won't echo back what you type so the screen will remain blank.","breadcrumbs":"Serial communication » Windows tooling » Windows tooling","id":"75","title":"Windows tooling"},"76":{"body":"The microcontroller has a peripheral called UART, which stands for Universal Asynchronous Receiver/Transmitter. This peripheral can be configured to work with several communication protocols like the serial communication protocol. Throughout this chapter, we'll use serial communication to exchange information between the microcontroller and your computer. NOTE that on the micro:bit v2 we will use the so called UARTE peripheral which behaves just like a regular UART, except that the HAL has to talk to it differently. However, this will of course not be our concern.","breadcrumbs":"UART » UART","id":"76","title":"UART"},"77":{"body":"As always from now on you will have to modify the Embed.toml to match your micro:bit version: [default.general]\n# chip = \"nrf52833_xxAA\" # uncomment this line for micro:bit V2\n# chip = \"nrf51822_xxAA\" # uncomment this line for micro:bit V1 [default.reset]\nhalt_afterwards = false [default.rtt]\nenabled = true [default.gdb]\nenabled = false","breadcrumbs":"UART » Setup","id":"77","title":"Setup"},"78":{"body":"Our first task will be to send a single byte from the microcontroller to the computer over the serial connection. In order to do that we will use the following snippet (this one is already in 07-uart/src/main.rs): #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; nb::block!(serial.write(b'X')).unwrap(); nb::block!(serial.flush()).unwrap(); loop {}\n} The most prevalent new thing here is obviously the cfg directives to conditionally include/exclude parts of the code. This is mostly just because we want to work with a regular UART for the micro:bit v1 and with the UARTE for micro:bit v2. You will also have noticed that this is the first time we are including some code that is not from a library, namely the serial_setup module. Its only purpose is to provide a nice wrapper around the UARTE so we can use it the exact same way as the UART via the embedded_hal::serial traits. If you want, you can check out what exactly the module does, but it is not required to understand this chapter in general. Apart from those differences, the initialization procedures for the UART and the UARTE are quite similar so we'll discuss the initialization of just UARTE. The UARTE is initialized with this piece of code: uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200,\n); This function takes ownership of the UARTE peripheral representation in Rust (board.UARTE0) and the TX/RX pins on the board (board.uart.into()) so nobody else can mess with either the UARTE peripheral or our pins while we are using them. After that we pass two configuration options to the constructor: the baudrate (that one should be familiar) as well as an option called \"parity\". Parity is a way to allow serial communication lines to check whether the data they received was corrupted during transmission. We don't want to use that here so we simply exclude it. Then we wrap it up in the UartePort type so we can use it the same way as the micro:bit v1's serial. After the initialization, we send our X via the newly created uart instance. The block! macro here is the nb::block! macro. nb is a (quoting from its description) \"Minimal and reusable non-blocking I/O layer\". It allows us to write code that can conduct hardware operations in the background while we go and do other work (non-blocking). However, in this and many other cases we have no interest in doing some other work so we just call block! which will wait until the I/O operation is done and has either succeeded or failed and then continue execution normally. Last but not least, we flush() the serial port. This is because an implementor of the embedded-hal::serial traits may decide to buffer output until it has received a certain number of bytes to send (this is the case with the UARTE implementation). Calling flush() forces it to write the bytes it currently has right now instead of waiting for more.","breadcrumbs":"UART » Send a single byte » Send a single byte","id":"78","title":"Send a single byte"},"79":{"body":"Before flashing this you should make sure to start your minicom/PuTTY as the data we receive via our serial communication is not backed up or anything, we have to view it live. Once your serial monitor is up you can flash the program just like in chapter 5: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf (...) # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi And after the flashing is finished, you should see the character X show up on your minicom/PuTTY terminal, congrats!","breadcrumbs":"UART » Send a single byte » Testing it","id":"79","title":"Testing it"},"8":{"body":"Lots of things! Microcontrollers are the central part of what are known as \" embedded systems\". Embedded systems are everywhere, but you don't usually notice them. They control the machines that wash your clothes, print your documents, and cook your food. Embedded systems keep the buildings that you live and work in at a comfortable temperature, and control the components that make the vehicles you travel in stop and go. Most embedded systems operate without user intervention. Even if they expose a user interface like a washing machine does; most of their operation is done on their own. Embedded systems are often used to control a physical process. To make this possible, they have one or more devices to tell them about the state of the world (\"sensors\"), and one or more devices which allow them to change things (\"actuators\"). For example, a building climate control system might have: Sensors which measure temperature and humidity in various locations. Actuators which control the speed of fans. Actuators which cause heat to be added or removed from the building.","breadcrumbs":"Background » What can you do with a microcontroller?","id":"8","title":"What can you do with a microcontroller?"},"80":{"body":"The next task will be to send a whole string from the microcontroller to your computer. I want you to send the string \"The quick brown fox jumps over the lazy dog.\" from the microcontroller to your computer. It's your turn to write the program.","breadcrumbs":"UART » Send a string » Send a string","id":"80","title":"Send a string"},"81":{"body":"","breadcrumbs":"UART » Naive approach and write! » Naive approach and write!","id":"81","title":"Naive approach and write!"},"82":{"body":"You probably came up with a program similar to the following: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; for byte in b\"The quick brown fox jumps over the lazy dog.\\r\\n\".iter() { nb::block!(serial.write(*byte)).unwrap(); } nb::block!(serial.flush()).unwrap(); loop {}\n} While this is a perfectly valid implementation, at some point you might want to have all the nice perks of print! such as argument formatting and so on. If you are wondering how to do that, read on.","breadcrumbs":"UART » Naive approach and write! » Naive approach","id":"82","title":"Naive approach"},"83":{"body":"The core::fmt::Write trait allows us to use any struct that implements it in basically the same way as we use print! in the std world. In this case, the Uart struct from the nrf HAL does implement core::fmt::Write so we can refactor our previous program into this: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _;\nuse core::fmt::Write; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; write!(serial, \"The quick brown fox jumps over the lazy dog.\\r\\n\").unwrap(); nb::block!(serial.flush()).unwrap(); loop {}\n} If you were to flash this program onto your micro:bit, you'll see that it is functionally equivalent to the iterator-based program you came up with.","breadcrumbs":"UART » Naive approach and write! » write! and core::fmt::Write","id":"83","title":"write! and core::fmt::Write"},"84":{"body":"So far we can send data from the microcontroller to your computer. It's time to try the opposite: receiving data from your computer. Luckily embedded-hal has again got us covered with this one: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; loop { let byte = nb::block!(serial.read()).unwrap(); rprintln!(\"{}\", byte); }\n} The only part that changed, compared to our send byte program, is the loop at the end of main(). Here we use the read() function, provided by embedded-hal, in order to wait until a byte is available and read it. Then we print that byte into our RTT debugging console to see whether stuff is actually arriving. Note that if you flash this program and start typing characters inside minicom to send them to your microcontroller you'll only be able to see numbers inside your RTT console since we are not converting the u8 we received into an actual char. Since the conversion from u8 to char is quite simple, I'll leave this task to you if you really do want to see the characters inside the RTT console.","breadcrumbs":"UART » Receive a single byte » Receive a single byte","id":"84","title":"Receive a single byte"},"85":{"body":"Let's merge transmission and reception into a single program and write an echo server. An echo server sends back to the client the same text it receives. For this application, the microcontroller will be the server and you and your computer will be the client. This should be straightforward to implement. (hint: do it byte by byte)","breadcrumbs":"UART » Echo server » Echo server","id":"85","title":"Echo server"},"86":{"body":"Alright, next let's make the server more interesting by having it respond to the client with the reverse of the text that they sent. The server will respond to the client every time they press the ENTER key. Each server response will be in a new line. This time you'll need a buffer; you can use heapless::Vec . Here's the starter code: #![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse core::fmt::Write;\nuse heapless::Vec;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); // TODO Receive a user request. Each user request ends with ENTER // NOTE `buffer.push` returns a `Result`. Handle the error by responding // with an error message. // TODO Send back the reversed string }\n}","breadcrumbs":"UART » Reverse a string » Reverse a string","id":"86","title":"Reverse a string"},"87":{"body":"#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse core::fmt::Write;\nuse heapless::Vec;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::prelude::*, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::prelude::*, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; // A buffer with 32 bytes of capacity let mut buffer: Vec = Vec::new(); loop { buffer.clear(); loop { // We assume that the receiving cannot fail let byte = nb::block!(serial.read()).unwrap(); if buffer.push(byte).is_err() { write!(serial, \"error: buffer full\\r\\n\").unwrap(); break; } if byte == 13 { for byte in buffer.iter().rev().chain(&[b'\\n', b'\\r']) { nb::block!(serial.write(*byte)).unwrap(); } break; } } nb::block!(serial.flush()).unwrap() }\n}","breadcrumbs":"UART » My solution » My solution","id":"87","title":"My solution"},"88":{"body":"We just saw the serial communication protocol. It's a widely used protocol because it's very simple and this simplicity makes it easy to implement on top of other protocols like Bluetooth and USB. However, its simplicity is also a downside. More elaborated data exchanges, like reading a digital sensor, would require the sensor vendor to come up with another protocol on top of it. (Un)Luckily for us, there are plenty of other communication protocols in the embedded space. Some of them are widely used in digital sensors. The micro:bit board we are using has two motion sensors in it: an accelerometer and a magnetometer. Both of these sensors are packaged into a single component and can be accessed via an I2C bus. I2C stands for Inter-Integrated Circuit and is a synchronous serial communication protocol. It uses two lines to exchange data: a data line (SDA) and a clock line (SCL). Because a clock line is used to synchronize the communication, this is a synchronous protocol. This protocol uses a controller target model where the controller is the device that starts and drives the communication with a target device. Several devices, both controllers and targets, can be connected to the same bus at the same time. A controller device can communicate with a specific target device by first broadcasting its address to the bus. This address can be 7 bits or 10 bits long. Once a controller has started a communication with a target, no other device can make use of the bus until the controller stops the communication. The clock line determines how fast data can be exchanged and it usually operates at a frequency of 100 kHz (standard mode) or 400 kHz (fast mode).","breadcrumbs":"I2C » I2C","id":"88","title":"I2C"},"89":{"body":"The I2C protocol is more elaborate than the serial communication protocol because it has to support communication between several devices. Let's see how it works using examples:","breadcrumbs":"I2C » The general protocol » General protocol","id":"89","title":"General protocol"},"9":{"body":"Many of the embedded systems listed above could be implemented with a computer running Linux (for example a \"Raspberry Pi\"). Why use a microcontroller instead? Sounds like it might be harder to develop a program. Some reasons might include: Cost. A microcontroller is much cheaper than a general purpose computer. Not only is the microcontroller cheaper; it also requires many fewer external electrical components to operate. This makes Printed Circuit Boards (PCB) smaller and cheaper to design and manufacture. Power consumption. Most microcontrollers consume a fraction of the power of a full blown processor. For applications which run on batteries, that makes a huge difference. Responsiveness. To accomplish their purpose, some embedded systems must always react within a limited time interval (e.g. the \"anti-lock\" braking system of a car). If the system misses this type of deadline , a catastrophic failure might occur. Such a deadline is called a \"hard real time\" requirement. An embedded system which is bound by such a deadline is referred to as a \"hard real-time system\". A general purpose computer and OS usually has many software components which share the computer's processing resources. This makes it harder to guarantee execution of a program within tight time constraints. Reliability. In systems with fewer components (both hardware and software), there is less to go wrong!","breadcrumbs":"Background » When should I use a microcontroller?","id":"9","title":"When should I use a microcontroller?"},"90":{"body":"If the Controller wants to send data to the Target: Controller: Broadcast START C: Broadcast target address (7 bits) + the R/W (8th) bit set to WRITE Target: Responds ACK (ACKnowledgement) C: Send one byte T: Responds ACK Repeat steps 4 and 5 zero or more times C: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Controller -> Target","id":"90","title":"Controller -> Target"},"91":{"body":"If the controller wants to read data from the target: C: Broadcast START C: Broadcast target address (7 bits) + the R/W (8th) bit set to READ T: Responds with ACK T: Send byte C: Responds with ACK Repeat steps 4 and 5 zero or more times C: Broadcast STOP OR (broadcast RESTART and go back to (2)) NOTE The target address could have been 10 bits instead of 7 bits long. Nothing else would have changed.","breadcrumbs":"I2C » The general protocol » Controller <- Target","id":"91","title":"Controller <- Target"},"92":{"body":"Both of the motion sensors on the micro:bit, the magnetometer and the accelerometer, are packaged in a single component: the LSM303AGR integrated circuit. These two sensors can be accessed via an I2C bus. Each sensor behaves like an I2C target and has a different address. Each sensor has its own memory where it stores the results of sensing its environment. Our interaction with these sensors will mainly involve reading their memory. The memory of these sensors is modeled as byte addressable registers. These sensors can be configured too; that's done by writing to their registers. So, in a sense, these sensors are very similar to the peripherals inside the microcontroller. The difference is that their registers are not mapped into the microcontrollers' memory. Instead, their registers have to be accessed via the I2C bus. The main source of information about the LSM303AGR is its Data Sheet . Read through it to see how one can read the sensors' registers. That part is in: Section 6.1.1 I2C Operation - Page 38 - LSM303AGR Data Sheet The other part of the documentation relevant to this book is the description of the registers. That part is in: Section 8 Register description - Page 46 - LSM303AGR Data Sheet","breadcrumbs":"I2C » LSM303AGR » LSM303AGR","id":"92","title":"LSM303AGR"},"93":{"body":"Let's put all that theory into practice! First things first we need to know the target addresses of both the accelerometer and the magnetometer inside the chip, these can be found in the LSM303AGR's datasheet on page 39 and are: 0011001 for the accelerometer 0011110 for the magnetometer NOTE Remember that these are only the 7 leading bits of the address, the 8th bit is going to be the bit that determines whether we are performing a read or write. Next up we'll need a register to read from. Lots of I2C chips out there will provide some sort of device identification register for their controllers to read. This is done since considering the thousands (or even millions) of I2C chips out there it is highly likely that at some point two chips with the same address will end up being built (after all the address is \"only\" 7 bit wide). With this device ID register a driver could then make sure that it is indeed talking to a LSM303AGR and not some other chip that just happens to have the same address. As you can read in the LSM303AGR's datasheet (specifically on page 46 and 61) it does provide two registers called WHO_AM_I_A at address 0x0f and WHO_AM_I_M at address 0x4f which contain some bit patterns that are unique to the device (The A is as in accelerometer and the M is as in magnetometer). The only thing missing now is the software part, i.e. which API of the microbit/the HAL crates we should use for this. However, if you read through the datasheet of the nRF chip you are using you will soon find out that they don't actually have an I2C peripheral. Luckily for us though, they have I2C-compatible ones called TWI (Two Wire Interface) and TWIM (depending on which chip you use, just like UART and UARTE). Now if we put the documentation of the twi(m) module from the microbit crate together with all the other information we have gathered so far we'll end up with this piece of code to read out and print the two device IDs: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; use microbit::hal::prelude::*; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A,\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A,\n}; const ACCELEROMETER_ADDR: u8 = 0b0011001;\nconst MAGNETOMETER_ADDR: u8 = 0b0011110; const ACCELEROMETER_ID_REG: u8 = 0x0f;\nconst MAGNETOMETER_ID_REG: u8 = 0x4f; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let mut i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut acc = [0]; let mut mag = [0]; // First write the address + register onto the bus, then read the chip's responses i2c.write_read(ACCELEROMETER_ADDR, &[ACCELEROMETER_ID_REG], &mut acc).unwrap(); i2c.write_read(MAGNETOMETER_ADDR, &[MAGNETOMETER_ID_REG], &mut mag).unwrap(); rprintln!(\"The accelerometer chip's id is: {:#b}\", acc[0]); rprintln!(\"The magnetometer chip's id is: {:#b}\", mag[0]); loop {}\n} Apart from the initialization, this piece of code should be straight forward if you understood the I2C protocol as described before. The initialization here works similarly to the one from the UART chapter. We pass the peripheral as well as the pins that are used to communicate with the chip to the constructor; and then the frequency we wish the bus to operate on, in this case 100 kHz (K100).","breadcrumbs":"I2C » Read a single register » Read a single register","id":"93","title":"Read a single register"},"94":{"body":"As always you have to modify Embed.toml to fit your MCU and can then use: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi in order to test our little example program.","breadcrumbs":"I2C » Read a single register » Testing it","id":"94","title":"Testing it"},"95":{"body":"As we already discussed in chapter 5 embedded-hal provides abstractions which can be used to write platform independent code that can interact with hardware. In fact all the methods we have used to interact with hardware in chapter 7 and up until now in chapter 8 were from traits, defined by embedded-hal. Now we'll make actual use of the traits embedded-hal provides for the first time. It would be pointless to implement a driver for our LSM303AGR for every platform embedded Rust supports (and new ones that might eventually pop up). To avoid this a driver can be written that consumes generic types that implement embedded-hal traits in order to provide a platform agnostic version of a driver. Luckily for us this has already been done in the lsm303agr crate. Hence reading the actual accelerometer and magnetometer values will now be basically a plug and play experience (plus reading a bit of documentation). In fact the crates.io page already provides us with everything we need to know in order to read accelerometer data but using a Raspberry Pi. We'll just have to adapt it to our chip: use linux_embedded_hal::I2cdev;\nuse lsm303agr::{AccelOutputDataRate, Lsm303agr}; fn main() { let dev = I2cdev::new(\"/dev/i2c-1\").unwrap(); let mut sensor = Lsm303agr::new_with_i2c(dev); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); loop { if sensor.accel_status().unwrap().xyz_new_data { let data = sensor.accel_data().unwrap(); println!(\"Acceleration: x {} y {} z {}\", data.x, data.y, data.z); } }\n} Because we already know how to create an instance of an object that implements the embedded_hal::blocking::i2c traits from the previous page , this is quite trivial: #![deny(unsafe_code)]\n#![no_main]\n#![no_std] use cortex_m_rt::entry;\nuse rtt_target::{rtt_init_print, rprintln};\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A,\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A,\n}; use lsm303agr::{ AccelOutputDataRate, Lsm303agr,\n}; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; // Code from documentation let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); loop { if sensor.accel_status().unwrap().xyz_new_data { let data = sensor.accel_data().unwrap(); // RTT instead of normal print rprintln!(\"Acceleration: x {} y {} z {}\", data.x, data.y, data.z); } }\n} Just like the last snippet you should just be able to try this out like this: # For micro:bit v2\n$ cargo embed --features v2 --target thumbv7em-none-eabihf # For micro:bit v1\n$ cargo embed --features v1 --target thumbv6m-none-eabi Furthermore if you (physically) move around your micro:bit a little you should see the acceleration numbers that are being printed change.","breadcrumbs":"I2C » Using a driver » Using a driver","id":"95","title":"Using a driver"},"96":{"body":"The challenge for this chapter is, to build a small application that communicates with the outside world via the serial interface introduced in the last chapter. It should be able to receive the commands \"magnetometer\" as well as \"accelerometer\" and then print the corresponding sensor data in response. This time no template code will be provided since all you need is already provided in the UART and this chapter. However, here are a few clues: You might be interested in core::str::from_utf8 to convert the bytes in the buffer to a &str, since we need to compare with \"magnetometer\" and \"accelerometer\". You will (obviously) have to read the documentation of the magnetometer API, however it's more or less equivalent to the accelerometer one","breadcrumbs":"I2C » The challenge » The challenge","id":"96","title":"The challenge"},"97":{"body":"#![no_main]\n#![no_std] use core::str; use cortex_m_rt::entry;\nuse rtt_target::rtt_init_print;\nuse panic_rtt_target as _; #[cfg(feature = \"v1\")]\nuse microbit::{ hal::twi, pac::twi0::frequency::FREQUENCY_A, hal::uart, hal::uart::{Baudrate, Parity},\n}; #[cfg(feature = \"v2\")]\nuse microbit::{ hal::twim, pac::twim0::frequency::FREQUENCY_A, hal::uarte, hal::uarte::{Baudrate, Parity},\n}; use microbit::hal::prelude::*;\nuse lsm303agr::{AccelOutputDataRate, MagOutputDataRate, Lsm303agr};\nuse heapless::Vec;\nuse nb::block;\nuse core::fmt::Write; #[cfg(feature = \"v2\")]\nmod serial_setup;\n#[cfg(feature = \"v2\")]\nuse serial_setup::UartePort; #[entry]\nfn main() -> ! { rtt_init_print!(); let board = microbit::Board::take().unwrap(); #[cfg(feature = \"v1\")] let mut serial = { uart::Uart::new( board.UART0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ) }; #[cfg(feature = \"v2\")] let mut serial = { let serial = uarte::Uarte::new( board.UARTE0, board.uart.into(), Parity::EXCLUDED, Baudrate::BAUD115200, ); UartePort::new(serial) }; #[cfg(feature = \"v1\")] let i2c = { twi::Twi::new(board.TWI0, board.i2c.into(), FREQUENCY_A::K100) }; #[cfg(feature = \"v2\")] let i2c = { twim::Twim::new(board.TWIM0, board.i2c_internal.into(), FREQUENCY_A::K100) }; let mut sensor = Lsm303agr::new_with_i2c(i2c); sensor.init().unwrap(); sensor.set_accel_odr(AccelOutputDataRate::Hz50).unwrap(); sensor.set_mag_odr(MagOutputDataRate::Hz50).unwrap(); let mut sensor = sensor.into_mag_continuous().ok().unwrap(); loop { let mut buffer: Vec = Vec::new(); loop { let byte = block!(serial.read()).unwrap(); if byte == 13 { break; } if buffer.push(byte).is_err() { write!(serial, \"error: buffer full\\r\\n\").unwrap(); break; } } if str::from_utf8(&buffer).unwrap().trim() == \"accelerometer\" { while !sensor.accel_status().unwrap().xyz_new_data { } let data = sensor.accel_data().unwrap(); write!(serial, \"Accelerometer: x {} y {} z {}\\r\\n\", data.x, data.y, data.z).unwrap(); } else if str::from_utf8(&buffer).unwrap().trim() == \"magnetometer\" { while !sensor.mag_status().unwrap().xyz_new_data { } let data = sensor.mag_data().unwrap(); write!(serial, \"Magnetometer: x {} y {} z {}\\r\\n\", data.x, data.y, data.z).unwrap(); } else { write!(serial, \"error: command not detected\\r\\n\").unwrap(); } }\n}","breadcrumbs":"I2C » My solution » My solution","id":"97","title":"My solution"},"98":{"body":"In this section, we'll implement a compass using the LEDs on the micro:bit. Like proper compasses, our LED compass must point north somehow. It will do that by turning on one of its outer LEDs; the LED turned on should point towards north. Magnetic fields have both a magnitude, measured in Gauss or Teslas, and a direction . The magnetometer on the micro:bit measures both the magnitude and the direction of an external magnetic field but it reports back the decomposition of said field along its axes . The magnetometer has three axes associated to it. The X and Y axes basically span the plane that is the floor. The Z axis is pointing \"out\" of the floor, so upwards. You should already be able to write a program that continuously prints the magnetometer data on the RTT console from the I2C chapter . After you wrote that program, locate where north is at your current location. Then line up your micro:bit with that direction and observe how the sensor's measurements look. Now rotate the board 90 degrees while keeping it parallel to the ground. What X, Y and Z values do you see this time? Then rotate it 90 degrees again. What values do you see?","breadcrumbs":"LED compass » LED compass","id":"98","title":"LED compass"},"99":{"body":"One very important thing to do before using a sensor and trying to develop an application using it is verifying that it's output is actually correct. If this does not happen to be the case we need to calibrate the sensor (alternatively it could also be broken but that's rather unlikely in this case). In my case on two different micro:bit's the magnetometer, without calibration, was quite a bit off of what it is supposed to measure. Hence for the purposes of this chapter we will just assume that the sensor has to be calibrated. The calibration involves quite a bit of math (matrices) so we won't cover it here but this Design Note describes the procedure if you are interested. Luckily for us though the group that built the original software for the micro:bit already implemented a calibration mechanism in C++ over here . You can find a translation of it to Rust in src/calibration.rs. The usage is demonstrated in the default src/main.rs file. The way the calibration works is illustrated in this video: You have to basically tilt the micro:bit until all the LEDs on the LED matrix light up. If you do not want to play the game every time you restart your application during development feel free to modify the src/main.rs template to just use the same static calibration once you got the first one. Now where we got the sensor calibration out of the way let's look into actually building this application!","breadcrumbs":"LED compass » Calibration » Calibration","id":"99","title":"Calibration"}},"length":146,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{",":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"3":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"0":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":2,"docs":{"16":{"tf":1.0},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"108":{"tf":1.0}}},"6":{".":{"1":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"4":{"8":{"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},":":{"0":{"0":{":":{"0":{"0":{"df":1,"docs":{"56":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":4.242640687119285}}},"1":{"df":1,"docs":{"55":{"tf":2.449489742783178}}},"6":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"df":1,"docs":{"17":{"tf":1.0}}},"7":{"df":1,"docs":{"78":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"8":{":":{"0":{"2":{"0":{"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":3.1622776601683795},"112":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":5.830951894845301},"72":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"56":{"tf":2.0}}},"u":{"8":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"a":{"df":1,"docs":{"59":{"tf":1.0}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"2":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"1":{"2":{"c":{"4":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":7.211102550927978}},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"1":{"0":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"3":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"b":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"5":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"a":{"6":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"c":{"1":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"2":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{".":{"1":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{".":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}},"7":{"6":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":9,"docs":{"124":{"tf":1.4142135623730951},"23":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"5":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"0":{"0":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"75":{"tf":1.0}}},"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"6":{"3":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"5":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"59":{"tf":1.0}}},"2":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":2,"docs":{"140":{"tf":2.0},"141":{"tf":1.4142135623730951}}},"4":{"4":{"6":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"43":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"3":{"0":{"8":{"2":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"7":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":1.0},"59":{"tf":2.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"4":{"1":{"5":{"8":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"3":{"5":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"2":{"7":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0}}},"7":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"3":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"3":{"9":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"69":{"tf":1.0}}},"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"106":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"111":{"tf":3.605551275463989},"112":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907},"68":{"tf":5.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0}},"e":{"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"2":{"8":{"3":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"0":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"56":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"6":{"9":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"7":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"4":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0}},"m":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"4":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"6":{"1":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"1":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"72":{"tf":1.0}}},"2":{".":{"7":{"3":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"7":{"1":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"6":{"df":3,"docs":{"122":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"62":{"tf":1.0}}},"6":{"9":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{"7":{"1":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"5":{"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}},"df":10,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"3":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"3":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":1.0}}},"2":{"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"111":{"tf":2.23606797749979},"24":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"3":{".":{"6":{"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"4":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"3":{"9":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"8":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}},"9":{"df":1,"docs":{"93":{"tf":1.0}}},"d":{"df":1,"docs":{"104":{"tf":1.0}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"116":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}},"x":{"9":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"4":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"1":{"4":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"5":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"6":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":1,"docs":{"45":{"tf":1.0}}},"9":{"4":{"1":{"1":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"7":{"8":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":7,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"5":{"+":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},".":{"4":{".":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"55":{"tf":2.0}}},"3":{"c":{"b":{"7":{"b":{"0":{"9":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":13,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"111":{"tf":4.47213595499958},"112":{"tf":1.0},"142":{"tf":1.0},"34":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"x":{"5":{"df":3,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"3":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"2":{".":{"4":{"4":{"6":{"2":{"8":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"9":{"1":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"9":{"6":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"7":{"1":{"3":{"2":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"43":{"tf":1.0}}},"9":{"3":{"1":{"1":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"5":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"103":{"tf":2.8284271247461903},"114":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}},"9":{"0":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"124":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"4":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":25,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"y":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"3":{"df":0,"docs":{},"e":{"2":{"5":{"df":0,"docs":{},"e":{"3":{"a":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"e":{"c":{"4":{"df":0,"docs":{},"e":{"1":{"9":{"6":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"+":{"1":{"0":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"0":{"df":1,"docs":{"43":{"tf":1.0}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"l":{"df":2,"docs":{"112":{"tf":1.0},"123":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}},"v":{"df":9,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.449489742783178},"133":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":3.4641016151377544},"107":{"tf":2.449489742783178},"108":{"tf":1.7320508075688772},"131":{"tf":1.0},"133":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":2.23606797749979},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"108":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"105":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"49":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"104":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"m":{"df":1,"docs":{"72":{"tf":1.0}}},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"54":{"tf":1.0}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":23,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"8":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.0}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.0}}},"d":{"df":9,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"107":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"69":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":2.0},"143":{"tf":1.7320508075688772},"144":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903}}}}}}},"df":5,"docs":{"117":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"145":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"70":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}}}},"h":{"a":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"106":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"106":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":21,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"99":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":10,"docs":{"100":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"141":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"120":{"tf":1.0},"79":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"107":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"107":{"tf":2.0},"54":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"34":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"11":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"68":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"127":{"tf":1.0},"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"112":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"q":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"7":{"3":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"55":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"144":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"m":{"'":{"df":3,"docs":{"26":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":17,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"29":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.449489742783178},"45":{"tf":1.0},"46":{"tf":2.449489742783178},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"144":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"113":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":7,"docs":{"111":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.0},"37":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"122":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"102":{"tf":1.0}},"f":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"138":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"2":{"0":{"4":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"d":{"2":{"8":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"133":{"tf":1.4142135623730951},"16":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"131":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"106":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0}}}}}}},"x":{"df":2,"docs":{"102":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"98":{"tf":1.0}}}}},"b":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":17,"docs":{"111":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"122":{"tf":1.0},"6":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"144":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.0},"46":{"tf":2.0},"66":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":13,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}},"u":{"d":{"df":3,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"78":{"tf":1.0}},"e":{":":{":":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"1":{"1":{"5":{"2":{"0":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":16,"docs":{"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"132":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"59":{"tf":1.4142135623730951},"68":{"tf":1.0}},"n":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"100":{"tf":1.0}}}},"w":{"df":13,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"39":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":2.449489742783178}}}}},"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}}}}}},"t":{"df":20,"docs":{"100":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":2.8284271247461903},"73":{"tf":2.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.0},"91":{"tf":2.0},"93":{"tf":2.23606797749979},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"42":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":8,"docs":{"36":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":8,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":2.23606797749979},"56":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"129":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"'":{"df":1,"docs":{"116":{"tf":1.0}}},".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"2":{"c":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}}}},"0":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":41,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":2.6457513110645907},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"13":{"tf":2.8284271247461903},"133":{"tf":2.0},"27":{"tf":1.0},"3":{"tf":1.7320508075688772},"36":{"tf":1.0},"42":{"tf":2.6457513110645907},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"'":{"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.0}}},"df":20,"docs":{"0":{"tf":1.0},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"l":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"135":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":3.1622776601683795},"59":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":3.4641016151377544},"58":{"tf":1.0},"59":{"tf":4.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":5,"docs":{"133":{"tf":1.0},"51":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"s":{"df":1,"docs":{"69":{"tf":2.23606797749979}}}},"u":{"df":6,"docs":{"105":{"tf":1.0},"34":{"tf":1.4142135623730951},"70":{"tf":1.0},"88":{"tf":2.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":6,"docs":{"122":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"109":{"tf":1.0},"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":20,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"122":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"109":{"tf":1.0},"113":{"tf":2.0},"114":{"tf":3.0},"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"20":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":17,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.7320508075688772},"55":{"tf":3.1622776601683795},"70":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":2.449489742783178},"34":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"111":{"tf":1.0},"126":{"tf":1.0},"68":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"99":{"tf":3.0}}}},"df":0,"docs":{}},"l":{"df":19,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"131":{"tf":1.0},"141":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"9":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"82":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":2.0},"54":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":2.0},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.0}}}},"c":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":3,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":24,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":2.23606797749979},"19":{"tf":2.6457513110645907},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.449489742783178},"56":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"114":{"tf":1.7320508075688772},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":3,"docs":{"137":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.0}}},"df":11,"docs":{"11":{"tf":1.7320508075688772},"111":{"tf":1.0},"12":{"tf":1.4142135623730951},"139":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":2.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"108":{"tf":2.0},"38":{"tf":1.0},"78":{"tf":2.449489742783178},"82":{"tf":2.449489742783178},"83":{"tf":2.449489742783178},"84":{"tf":2.449489742783178},"86":{"tf":2.449489742783178},"87":{"tf":2.449489742783178},"93":{"tf":2.0},"95":{"tf":2.0},"97":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"107":{"tf":1.0},"68":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"1":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":2.449489742783178},"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"84":{"tf":1.4142135623730951}},"g":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":2.449489742783178},"17":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"122":{"tf":1.0},"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"'":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":20,"docs":{"129":{"tf":1.4142135623730951},"135":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":2.6457513110645907},"44":{"tf":2.8284271247461903},"45":{"tf":2.6457513110645907},"46":{"tf":2.8284271247461903},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"20":{"tf":1.0},"75":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"128":{"tf":1.0},"132":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"20":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"56":{"tf":1.0}},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":32,"docs":{"102":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":2.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":1,"docs":{"111":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"m":{"3":{"df":1,"docs":{"75":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"131":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"o":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"75":{"tf":2.23606797749979}},"e":{"df":3,"docs":{"36":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":4.358898943540674},"64":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":11,"docs":{"1":{"tf":1.0},"129":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":3.4641016151377544},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"84":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"98":{"tf":2.0}}}},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"36":{"tf":1.0},"55":{"tf":3.872983346207417},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"100":{"tf":1.7320508075688772},"107":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"114":{"tf":1.0},"123":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"133":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"114":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"56":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"13":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"106":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"98":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}}},"df":3,"docs":{"108":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":2.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":2.0},"116":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":11,"docs":{"106":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.4142135623730951},"36":{"tf":1.0},"59":{"tf":3.1622776601683795},"64":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":24,"docs":{"1":{"tf":1.7320508075688772},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":2.23606797749979},"132":{"tf":1.4142135623730951},"141":{"tf":1.0},"145":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"8":{"tf":2.23606797749979},"88":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"84":{"tf":1.0}}},"t":{"df":6,"docs":{"1":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"70":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"119":{"tf":1.7320508075688772}}}}},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"111":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"111":{"tf":6.164414002968976}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"111":{"tf":3.4641016151377544}}}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"83":{"tf":2.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":7,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"137":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"114":{"tf":1.0}}}},"df":11,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.0},"46":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"55":{"tf":4.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"123":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"125":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"3":{"tf":1.4142135623730951},"55":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"143":{"tf":1.4142135623730951}},"u":{"df":2,"docs":{"10":{"tf":1.0},"145":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"114":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"137":{"tf":2.0},"49":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":4,"docs":{"19":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"74":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":14,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.4142135623730951},"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"98":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"51":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"27":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"x":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"z":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"70":{"tf":3.3166247903554},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"128":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":1.0},"73":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"133":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"49":{"tf":1.0},"70":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":2.0}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":19,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907},"64":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":3,"docs":{"31":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"107":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"98":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"70":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"d":{"b":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":5,"docs":{"107":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"111":{"tf":2.449489742783178},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"38":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"70":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"2":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.0}},"m":{"df":1,"docs":{"66":{"tf":1.0}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":2.8284271247461903},"59":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":14,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":7,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0},"52":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"44":{"tf":3.0},"46":{"tf":3.0},"63":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"123":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"143":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"42":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"111":{"tf":1.0}},"e":{"d":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"1":{"/":{"0":{"6":{"5":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":4,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":13,"docs":{"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"49":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":21,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":2.23606797749979},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"75":{"tf":2.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":1.0},"93":{"tf":2.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":29,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"116":{"tf":1.0},"123":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"125":{"tf":2.23606797749979},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"m":{"df":1,"docs":{"124":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}}},"r":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"100":{"tf":2.449489742783178},"101":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"111":{"tf":3.4641016151377544},"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.4142135623730951},"49":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.449489742783178}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":2.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"59":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"117":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"130":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"e":{"(":{"&":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":15,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.8284271247461903},"115":{"tf":1.7320508075688772},"116":{"tf":3.605551275463989},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"122":{"tf":1.0},"47":{"tf":1.0}}}}},"m":{"a":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"15":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}}}},"df":5,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"g":{".":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"80":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"123":{"tf":1.0},"144":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"125":{"tf":1.0},"132":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":1,"docs":{"133":{"tf":1.0}}},"r":{"df":5,"docs":{"133":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":2.0},"93":{"tf":1.0},"95":{"tf":2.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"53":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"100":{"tf":1.0},"26":{"tf":1.0},"9":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772},"116":{"tf":2.23606797749979},"142":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":2,"docs":{"104":{"tf":1.0},"133":{"tf":1.0}}},"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"11":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"110":{"tf":1.4142135623730951},"112":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":4,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"12":{"tf":1.0},"53":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"110":{"tf":1.7320508075688772},"114":{"tf":2.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":1,"docs":{"113":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"111":{"tf":1.0}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"f":{"3":{"2":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"m":{"b":{"df":18,"docs":{"135":{"tf":1.4142135623730951},"138":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":2.23606797749979},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":2.449489742783178},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"135":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":32,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"109":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.6457513110645907},"13":{"tf":1.0},"130":{"tf":1.4142135623730951},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":2.0},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.23606797749979},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"95":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"114":{"tf":1.0},"140":{"tf":2.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"111":{"tf":1.0},"122":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"59":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.0},"63":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":27,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"111":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"55":{"tf":1.4142135623730951},"83":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"108":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":2.6457513110645907},"59":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"56":{"tf":2.0}}},"c":{"/":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":6,"docs":{"1":{"tf":1.7320508075688772},"100":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"106":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}},"t":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":2.23606797749979}},"u":{"df":3,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"36":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"116":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"119":{"tf":2.8284271247461903},"120":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":2.6457513110645907},"145":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"117":{"tf":1.0},"131":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"112":{"tf":1.0},"74":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"37":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"102":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}}},"y":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"f":{"3":{"2":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"3":{"c":{"1":{"9":{"5":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.0}}},"t":{"df":3,"docs":{"13":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"137":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"40":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772}}},"s":{"df":8,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}}},"q":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"69":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"127":{"tf":1.0},"70":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":2.0},"55":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"129":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":8,"docs":{"111":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"40":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"75":{"tf":1.0},"98":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":16,"docs":{"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"140":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":3.0},"59":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}}}},"d":{"df":18,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":2.0},"16":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"123":{"tf":1.0},"137":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"144":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"78":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"t":{"df":1,"docs":{"94":{"tf":1.0}}},"x":{"df":5,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"137":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"40":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":15,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"138":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.3166247903554},"58":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"n":{"df":28,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":4.58257569495584},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"1":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"13":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":2.23606797749979},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"82":{"tf":1.0}}}}}},"o":{"d":{"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"78":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.0},"59":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":5,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"132":{"tf":1.0},"58":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"144":{"tf":4.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":2.0},"73":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"|":{"c":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.0},"133":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"108":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"y":{"_":{"a":{":":{":":{"df":0,"docs":{},"k":{"1":{"0":{"0":{"df":9,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"13":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}}},"l":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":4,"docs":{"111":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":4,"docs":{"124":{"tf":1.0},"13":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":2.23606797749979},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"47":{"tf":1.0},"56":{"tf":1.0}}}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"9":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"115":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":9,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":2.23606797749979},"111":{"tf":4.69041575982343},"112":{"tf":3.3166247903554},"115":{"tf":2.0},"116":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"111":{"tf":2.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"98":{"tf":1.0}}}}}},"c":{"c":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"31":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":15,"docs":{"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.7320508075688772},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":6.708203932499369},"64":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":4,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.7320508075688772},"113":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"111":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"139":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"104":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}}}},"df":4,"docs":{"104":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.0},"59":{"tf":1.0}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"20":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"124":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"143":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"110":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0}}}},"df":25,"docs":{"106":{"tf":1.0},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"119":{"tf":1.0},"139":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"d":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}},"df":3,"docs":{"114":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}},"t":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":3.0}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"1":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"b":{"df":2,"docs":{"12":{"tf":1.0},"29":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.7320508075688772}},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"6":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"d":{"df":3,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":3.0},"112":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"70":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"5":{"tf":1.0},"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"110":{"tf":1.0}}},"df":1,"docs":{"75":{"tf":1.0}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"69":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"m":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"122":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"129":{"tf":3.4641016151377544},"13":{"tf":1.4142135623730951},"133":{"tf":2.0},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0}},"f":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.0}}},"l":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":19,"docs":{"10":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"13":{"tf":1.7320508075688772},"130":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"135":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":2.0}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.4142135623730951},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":4.47213595499958}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}},"t":{"df":1,"docs":{"8":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"p":{"df":6,"docs":{"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"3":{"tf":1.0}}}},"n":{"c":{"df":5,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"26":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}}},"df":23,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"84":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":7,"docs":{"107":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"59":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":2,"docs":{"106":{"tf":1.0},"73":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"70":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"107":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"84":{"tf":1.0}}}},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},".":{"df":6,"docs":{"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"27":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"93":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"133":{"tf":1.0},"78":{"tf":1.4142135623730951}}}},"2":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":18,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":2.6457513110645907},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}},"3":{"2":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"111":{"tf":2.449489742783178}}},"d":{"df":5,"docs":{"34":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"39":{"tf":1.7320508075688772},"93":{"tf":2.0}},"e":{"a":{"df":5,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"101":{"tf":1.0}},"i":{"df":1,"docs":{"101":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"s":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"112":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":2.0},"13":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":2.0},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.6457513110645907},"133":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"63":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":10,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"112":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"111":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"i":{"c":{"df":3,"docs":{"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}}}},"o":{"df":4,"docs":{"140":{"tf":1.0},"143":{"tf":2.23606797749979},"144":{"tf":2.0},"59":{"tf":1.7320508075688772}},"r":{"df":0,"docs":{},"m":{"df":13,"docs":{"100":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}},"s":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}}},"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.4142135623730951},"78":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":3,"docs":{"1":{"tf":1.0},"111":{"tf":2.8284271247461903},"125":{"tf":2.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"105":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":16,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}},"n":{"c":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":18,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"130":{"tf":1.0},"141":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"120":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"111":{"tf":1.0},"112":{"tf":1.0}},"r":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"l":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"109":{"tf":1.0},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"37":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"86":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"36":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}},"n":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":3.605551275463989},"116":{"tf":2.23606797749979},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":2.23606797749979},"133":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"107":{"tf":1.7320508075688772},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"119":{"tf":1.0},"2":{"tf":1.0},"96":{"tf":1.0}},"t":{"df":1,"docs":{"109":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}}},"r":{"d":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"122":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":5,"docs":{"117":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"'":{"df":17,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"80":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"117":{"tf":1.0},"130":{"tf":1.0}}},"r":{"df":2,"docs":{"112":{"tf":1.0},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"101":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":5,"docs":{"141":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"k":{"1":{"0":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"/":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"107":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"124":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"102":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"74":{"tf":1.0},"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"d":{"df":3,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.4142135623730951},"20":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":4,"docs":{"119":{"tf":1.0},"133":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":9,"docs":{"49":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}},"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"137":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}},"v":{"df":6,"docs":{"122":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"84":{"tf":1.0}}}},"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":35,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":3.3166247903554},"124":{"tf":2.0},"125":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":2.449489742783178},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"98":{"tf":2.23606797749979},"99":{"tf":1.4142135623730951}},"s":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":7,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"133":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"'":{"df":19,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"70":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"116":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"13":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}},":":{":":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"104":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"109":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"116":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":10,"docs":{"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"67":{"tf":1.0},"99":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":16,"docs":{"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"36":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.8284271247461903},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.23606797749979},"98":{"tf":1.0}}},"k":{"df":4,"docs":{"20":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":10,"docs":{"135":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"33":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"39":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":8,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"79":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}}},"o":{"a":{"d":{"df":2,"docs":{"124":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"1":{"3":{"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":9,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"59":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"p":{"df":27,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.8284271247461903},"115":{"tf":2.449489742783178},"116":{"tf":1.7320508075688772},"124":{"tf":1.0},"54":{"tf":1.7320508075688772},"59":{"tf":2.6457513110645907},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"13":{"tf":1.0}}},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"t":{"df":9,"docs":{"117":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"w":{"df":9,"docs":{"10":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"111":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"2":{"c":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"2":{"c":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.4142135623730951},"15":{"tf":1.0},"92":{"tf":2.23606797749979},"93":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"55":{"tf":1.0}}},"3":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"5":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":1.0}}},"4":{"df":3,"docs":{"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"55":{"tf":1.0}}}},"7":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"a":{"c":{"df":2,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"o":{"df":3,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"31":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"132":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"104":{"tf":3.4641016151377544},"126":{"tf":1.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"/":{"1":{"0":{"0":{".":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"112":{"tf":1.0},"140":{"tf":1.7320508075688772}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":2.23606797749979},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"92":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":28,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"135":{"tf":1.0},"142":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"93":{"tf":1.0},"95":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":11,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":1,"docs":{"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"143":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951}}}}},"h":{"df":2,"docs":{"102":{"tf":1.0},"99":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":13,"docs":{"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"42":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"108":{"tf":2.449489742783178}}}},"df":1,"docs":{"108":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"'":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"df":7,"docs":{"42":{"tf":2.0},"43":{"tf":2.0},"45":{"tf":2.0},"56":{"tf":2.23606797749979},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":12,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"93":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.4142135623730951},"133":{"tf":1.0},"34":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"123":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"8":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"122":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"u":{"df":1,"docs":{"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"74":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"131":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"104":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":1,"docs":{"108":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"99":{"tf":1.0}}},"df":42,"docs":{"100":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"36":{"tf":3.1622776601683795},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":2.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"70":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"108":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0}}}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}},"m":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"27":{"tf":1.0},"38":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":37,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"70":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":2.23606797749979},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},"/":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}}}}},"df":8,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"73":{"tf":2.6457513110645907},"74":{"tf":1.7320508075688772},"84":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"78":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":2,"docs":{"9":{"tf":1.0},"93":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}},"d":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}},"e":{":":{"=":{"\"":{"6":{"6":{"6":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"59":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}},"l":{"df":5,"docs":{"123":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":15,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.7320508075688772},"58":{"tf":1.0},"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"145":{"tf":1.0},"59":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":31,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"137":{"tf":1.0},"143":{"tf":1.0},"19":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"131":{"tf":1.0},"133":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"132":{"tf":2.449489742783178}}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":8,"docs":{"104":{"tf":1.0},"106":{"tf":2.0},"111":{"tf":3.7416573867739413},"112":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}}}}}}},"s":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"p":{"4":{"3":{"0":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"109":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"119":{"tf":3.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"127":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":25,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":2.6457513110645907},"102":{"tf":2.6457513110645907},"103":{"tf":2.6457513110645907},"104":{"tf":2.6457513110645907},"108":{"tf":2.23606797749979},"111":{"tf":2.8284271247461903},"112":{"tf":2.23606797749979},"115":{"tf":2.23606797749979},"116":{"tf":2.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"93":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"114":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"5":{"1":{"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}}},"2":{"8":{"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"81":{"tf":1.0},"82":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"104":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}},"b":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"'":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":2.6457513110645907},"141":{"tf":2.0},"142":{"tf":1.0},"144":{"tf":3.1622776601683795},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"116":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":23,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"73":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.0},"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":13,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}},"n":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":2.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":2.6457513110645907},"16":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":2.0},"39":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":3.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"36":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"x":{"df":3,"docs":{"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"78":{"tf":1.4142135623730951}},"e":{"df":16,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"36":{"tf":2.0},"55":{"tf":4.0},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"69":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":1.0}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":28,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"117":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.8284271247461903},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":5,"docs":{"111":{"tf":1.0},"120":{"tf":1.0},"56":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"5":{"1":{"8":{"2":{"2":{"_":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}},"2":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"1":{"df":1,"docs":{"121":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"8":{"3":{"3":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"111":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.23606797749979},"13":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"45":{"tf":2.0},"55":{"tf":2.0},"59":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":2.0},"107":{"tf":2.0},"54":{"tf":1.0},"98":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"96":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"108":{"tf":1.0},"123":{"tf":1.4142135623730951},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"144":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"c":{"df":13,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"139":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":40,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":2.0},"120":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":2.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"o":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"122":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"138":{"tf":1.0},"3":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"1":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"r":{"df":9,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"127":{"tf":1.0},"84":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"111":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"36":{"tf":1.0},"72":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"19":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"133":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"120":{"tf":1.0},"129":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"73":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.6457513110645907}}}}},"df":26,"docs":{"100":{"tf":2.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"125":{"tf":1.0},"126":{"tf":1.0},"142":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"111":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"112":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"111":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"49":{"tf":2.0},"50":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772}},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"26":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":7,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":9,"docs":{"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"y":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"t":{"df":16,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":1.0},"45":{"tf":2.449489742783178},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"132":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"70":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"108":{"tf":1.0},"26":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"93":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":3,"docs":{"129":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.0}}},"df":2,"docs":{"113":{"tf":1.0},"26":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"r":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"93":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":2.23606797749979},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":2.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}}},"k":{"df":1,"docs":{"82":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"106":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"102":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":4,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":2.8284271247461903},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"df":5,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":12,"docs":{"114":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"69":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"2":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"100":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}}}}}}},"y":{"df":4,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},"df":3,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.0},"112":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"106":{"tf":1.0},"117":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"129":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":2,"docs":{"70":{"tf":1.0},"95":{"tf":1.0}},"g":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":3,"docs":{"27":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"100":{"tf":1.4142135623730951},"102":{"tf":2.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"119":{"tf":2.6457513110645907},"142":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"82":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"144":{"tf":1.0},"59":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"144":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"122":{"tf":1.0}}}},"p":{"df":3,"docs":{"73":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"109":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"7":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":2.0},"127":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"2":{"tf":1.0},"70":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"132":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"119":{"tf":1.4142135623730951},"133":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"37":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}},"s":{"df":5,"docs":{"113":{"tf":1.0},"114":{"tf":2.449489742783178},"123":{"tf":1.0},"125":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"20":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"13":{"tf":1.0},"137":{"tf":1.7320508075688772},"2":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"132":{"tf":1.0}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"106":{"tf":1.0},"142":{"tf":2.8284271247461903},"143":{"tf":3.0},"144":{"tf":2.449489742783178},"36":{"tf":1.0},"40":{"tf":1.0},"59":{"tf":3.1622776601683795},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":2.8284271247461903}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":4,"docs":{"135":{"tf":1.0},"19":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"121":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"4":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"127":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"t":{"df":4,"docs":{"12":{"tf":1.0},"43":{"tf":2.449489742783178},"45":{"tf":2.449489742783178},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":39,"docs":{"1":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.4142135623730951},"144":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"54":{"tf":3.1622776601683795},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"61":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"133":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"106":{"tf":2.0},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"123":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"112":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":3.1622776601683795},"76":{"tf":1.4142135623730951},"88":{"tf":2.8284271247461903},"89":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":21,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":2.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}}}}},"u":{"b":{"(":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"111":{"tf":2.8284271247461903},"114":{"tf":1.0},"116":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"64":{"tf":1.0}}},"df":1,"docs":{"73":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"117":{"tf":1.0}}},"s":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"131":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"104":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"30":{"tf":1.0},"75":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":2.449489742783178}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"q":{"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":1,"docs":{"74":{"tf":1.0}},"f":{"a":{"a":{"df":0,"docs":{},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}},"n":{"4":{"8":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"a":{"a":{"a":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":3.0},"101":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"111":{"tf":1.0},"47":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":16,"docs":{"108":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}},"0":{"df":2,"docs":{"137":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"102":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":6,"docs":{"122":{"tf":2.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"127":{"tf":1.0},"70":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"111":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"105":{"tf":1.0},"119":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"d":{"df":24,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"13":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.7320508075688772},"93":{"tf":2.8284271247461903},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"63":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":9,"docs":{"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"139":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"114":{"tf":2.0}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"36":{"tf":1.0}},"u":{"c":{"df":2,"docs":{"112":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"114":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"137":{"tf":1.0},"144":{"tf":2.23606797749979},"59":{"tf":1.0},"92":{"tf":2.6457513110645907},"93":{"tf":2.449489742783178}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"29":{"tf":1.0},"69":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"v":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"130":{"tf":1.0},"56":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"107":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"104":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":5,"docs":{"132":{"tf":1.0},"14":{"tf":1.0},"145":{"tf":1.0},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951}}},"v":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"54":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"141":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":4,"docs":{"115":{"tf":1.0},"40":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"37":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"4":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"116":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"111":{"tf":1.0},"13":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.0},"145":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":2.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.4142135623730951},"63":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"123":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"86":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":7,"docs":{"111":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"m":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"17":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"11":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}}}}},"f":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":16,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951}}}},"o":{"a":{"d":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":5,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"69":{"tf":2.449489742783178}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{"1":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":2,"docs":{"111":{"tf":3.4641016151377544},"62":{"tf":1.0}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"1":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}}},"s":{"df":2,"docs":{"135":{"tf":1.0},"19":{"tf":1.0}}},"t":{"c":{"df":1,"docs":{"128":{"tf":1.0}}},"df":2,"docs":{"54":{"tf":1.4142135623730951},"64":{"tf":1.0}},"o":{"df":1,"docs":{"12":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":7,"docs":{"106":{"tf":1.0},"54":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"95":{"tf":1.0},"98":{"tf":1.0}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"110":{"tf":1.0},"135":{"tf":1.0},"27":{"tf":2.0},"34":{"tf":1.4142135623730951}}}},"n":{"df":16,"docs":{"112":{"tf":2.0},"119":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"c":{"df":2,"docs":{"17":{"tf":2.0},"55":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":26,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.7320508075688772},"114":{"tf":1.0},"12":{"tf":2.0},"123":{"tf":1.7320508075688772},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":2.449489742783178},"135":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.0}}}}}}},"w":{"df":2,"docs":{"34":{"tf":2.0},"72":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"49":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":15,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"141":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"106":{"tf":1.0},"55":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.4142135623730951},"128":{"tf":1.0}}}},"w":{"df":1,"docs":{"88":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"l":{"df":1,"docs":{"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"111":{"tf":2.6457513110645907},"112":{"tf":1.7320508075688772}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"d":{"a":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"128":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"92":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":27,"docs":{"104":{"tf":2.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":2.449489742783178},"5":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"d":{"4":{"7":{"2":{"df":0,"docs":{},"e":{"1":{"6":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":4.123105625617661}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"n":{"d":{"df":15,"docs":{"123":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":2.0},"80":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"126":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"98":{"tf":1.0}}},".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"g":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"1":{"6":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.7320508075688772},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"42":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"92":{"tf":3.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":2.0}}}}},"t":{"df":4,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"122":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":18,"docs":{"1":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":3.605551275463989},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}},"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"v":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":1.7320508075688772}}}},"o":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"138":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0}}}}}}},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"116":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.7320508075688772},"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"121":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"92":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":1.0}}},"l":{"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}},"i":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":3,"docs":{"13":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"74":{"tf":1.7320508075688772}}}}},"df":3,"docs":{"139":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":9,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"n":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"106":{"tf":1.0},"42":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":2.0},"70":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":13,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"69":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"88":{"tf":1.4142135623730951}}},"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"139":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":15,"docs":{"10":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"119":{"tf":1.0},"133":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":1,"docs":{"30":{"tf":1.0}}}},"z":{"df":0,"docs":{},"e":{"df":5,"docs":{"110":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"69":{"tf":3.3166247903554}}}}},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":2.23606797749979}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"69":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"111":{"tf":2.449489742783178},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":9,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":2.6457513110645907},"111":{"tf":4.898979485566356},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"o":{"c":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"118":{"tf":1.4142135623730951},"133":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"69":{"tf":2.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"v":{"df":3,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"120":{"tf":1.0},"132":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"121":{"tf":1.0},"133":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"111":{"tf":1.0},"133":{"tf":1.4142135623730951},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"112":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"98":{"tf":1.0}}}},"df":2,"docs":{"144":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"111":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":15,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"21":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"124":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.7320508075688772}},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"c":{"/":{"0":{"3":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.23606797749979}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"54":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"129":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"112":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"76":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"142":{"tf":1.0}}},"t":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"54":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":3.1622776601683795},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"125":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"8":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.449489742783178}}}}}}},"i":{"c":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"69":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"u":{"df":4,"docs":{"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0}}}}},"d":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"141":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"75":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"59":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}},"df":11,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"143":{"tf":1.0},"92":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"&":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"125":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":2,"docs":{"59":{"tf":1.4142135623730951},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":3.605551275463989},"112":{"tf":1.0},"116":{"tf":1.7320508075688772},"50":{"tf":1.0},"83":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"84":{"tf":1.0}}}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"=":{"=":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":8,"docs":{"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"o":{"df":5,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"127":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.4142135623730951},"59":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}},"s":{"df":1,"docs":{"99":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":9,"docs":{"123":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"119":{"tf":1.7320508075688772}}}}}}}},"w":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"123":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"55":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"105":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"143":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"111":{"tf":3.0},"112":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"102":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"42":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":6,"docs":{"118":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"76":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"137":{"tf":2.0},"36":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"64":{"tf":1.0},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"90":{"tf":2.23606797749979},"91":{"tf":2.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"107":{"tf":1.0},"119":{"tf":3.1622776601683795},"133":{"tf":1.0},"61":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"13":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"116":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":6,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"79":{"tf":1.0},"94":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"105":{"tf":1.0},"106":{"tf":1.7320508075688772},"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"31":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"3":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"55":{"tf":1.0}}}}}}},"t":{"a":{"df":2,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"q":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":13,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":1,"docs":{"123":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"15":{"tf":1.0},"76":{"tf":1.0}}}}}}}}}},"u":{"df":5,"docs":{"100":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"8":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":2.0}}},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":30,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":2.449489742783178},"128":{"tf":2.0},"133":{"tf":1.0},"141":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"r":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"0":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"116":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"0":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}},"1":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.449489742783178},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"123":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"131":{"tf":1.0}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"104":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":14,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"p":{"df":9,"docs":{"111":{"tf":1.4142135623730951},"133":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.4142135623730951}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"133":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"124":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"69":{"tf":2.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"144":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"k":{"df":6,"docs":{"107":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"128":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"135":{"tf":1.0},"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":2.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"122":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"85":{"tf":1.0}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}}}},"df":14,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":2.449489742783178},"73":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":20,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":4.242640687119285},"116":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}},"m":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}}},"o":{"df":22,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"54":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":2.0},"99":{"tf":1.0}}}},"x":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"8":{"df":3,"docs":{"111":{"tf":2.6457513110645907},"84":{"tf":1.4142135623730951},"93":{"tf":2.0}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"122":{"tf":2.0},"76":{"tf":2.0},"78":{"tf":3.4641016151377544},"83":{"tf":1.0},"93":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"b":{"df":1,"docs":{"59":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"135":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"73":{"tf":1.0}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"36":{"tf":2.0},"54":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"3":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":4,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"42":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"99":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"119":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":33,"docs":{"102":{"tf":1.0},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"17":{"tf":1.0},"36":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"56":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"99":{"tf":1.0}}}},"b":{"df":11,"docs":{"129":{"tf":2.0},"13":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"56":{"tf":2.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":93,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"100":{"tf":3.3166247903554},"101":{"tf":3.4641016151377544},"102":{"tf":4.123105625617661},"103":{"tf":3.872983346207417},"104":{"tf":3.4641016151377544},"105":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":3.0},"109":{"tf":3.1622776601683795},"11":{"tf":1.0},"111":{"tf":3.3166247903554},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":3.0},"115":{"tf":2.6457513110645907},"116":{"tf":4.58257569495584},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":2.23606797749979},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"133":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":4.123105625617661},"61":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":2.0},"64":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":2.449489742783178},"68":{"tf":2.449489742783178},"69":{"tf":2.6457513110645907},"70":{"tf":2.8284271247461903},"73":{"tf":2.449489742783178},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":3.3166247903554},"8":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":3.0},"84":{"tf":2.6457513110645907},"86":{"tf":3.0},"87":{"tf":2.8284271247461903},"88":{"tf":2.6457513110645907},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":3.1622776601683795},"94":{"tf":1.0},"95":{"tf":3.605551275463989},"97":{"tf":3.4641016151377544},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"129":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"111":{"tf":3.0},"69":{"tf":1.4142135623730951}},"e":{"]":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"0":{"tf":1.0},"129":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.4142135623730951},"70":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"'":{"df":1,"docs":{"78":{"tf":1.0}}},".":{"0":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":31,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":1.7320508075688772}}},"2":{"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":2.0},"84":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":2.23606797749979}}},"a":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":3.4641016151377544},"112":{"tf":2.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"59":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"]":{"[":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"29":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"110":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":2,"docs":{"104":{"tf":1.0},"116":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":3,"docs":{"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}},"i":{"df":12,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"109":{"tf":2.23606797749979},"16":{"tf":3.0},"18":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":3.0},"68":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"i":{"a":{"df":14,"docs":{"111":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":1,"docs":{"38":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"106":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"20":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"84":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}},"y":{"df":18,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"100":{"tf":1.0},"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"41":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"r":{"df":2,"docs":{"109":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":1,"docs":{"67":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":15,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.0}}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":8,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"117":{"tf":1.0},"3":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"100":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.0},"7":{"tf":1.0}}},"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}}}},"o":{"_":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"i":{"_":{"a":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"102":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"80":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":7,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"55":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"104":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"8":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"r":{"d":{"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":39,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":10,"docs":{"0":{"tf":1.0},"123":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"111":{"tf":1.0},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"83":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":18,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"98":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"135":{"tf":1.0},"49":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"98":{"tf":1.0}}}}}}},"x":{"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"142":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"26":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"y":{"df":1,"docs":{"100":{"tf":1.0}}}},"y":{"df":9,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.6457513110645907},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"59":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}},"df":1,"docs":{"106":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"73":{"tf":1.0},"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}},"r":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}}}}}},"z":{"df":7,"docs":{"104":{"tf":2.6457513110645907},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"74":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{",":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"3":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"0":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":2,"docs":{"16":{"tf":1.0},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"108":{"tf":1.0}}},"6":{".":{"1":{"2":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"4":{"8":{"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"8":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"1":{"4":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"0":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"0":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},":":{"0":{"0":{":":{"0":{"0":{"df":1,"docs":{"56":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":4.242640687119285}}},"1":{"df":1,"docs":{"55":{"tf":2.449489742783178}}},"6":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"df":1,"docs":{"17":{"tf":1.0}}},"7":{"df":1,"docs":{"78":{"tf":1.0}}},"b":{"0":{"0":{"1":{"1":{"0":{"0":{"1":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"0":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"8":{":":{"0":{"2":{"0":{"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":3.1622776601683795},"112":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":5.830951894845301},"72":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"56":{"tf":2.0}}},"u":{"8":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"a":{"df":1,"docs":{"59":{"tf":1.0}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"2":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"6":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"0":{"0":{"1":{"2":{"c":{"4":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"2":{"df":2,"docs":{"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":7.211102550927978}},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"1":{"0":{"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"4":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"3":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"b":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"df":1,"docs":{"69":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}},"5":{"0":{"0":{"0":{"2":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"a":{"6":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"c":{"1":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"2":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"5":{"3":{".":{"0":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{".":{"1":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{".":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}},"7":{"6":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":9,"docs":{"124":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"1":{",":{"5":{"2":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"5":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"0":{"0":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"75":{"tf":1.0}}},"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"6":{"3":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"5":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"59":{"tf":1.0}}},"2":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":2,"docs":{"140":{"tf":2.0},"141":{"tf":1.4142135623730951}}},"4":{"4":{"6":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"43":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"3":{"0":{"8":{"2":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"7":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":1.0},"59":{"tf":2.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"4":{"1":{"5":{"8":{"9":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"3":{"5":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},":":{"2":{"7":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"5":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0}}},"7":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}},"8":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"3":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"3":{"9":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"9":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"1":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"69":{"tf":1.0}}},"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"111":{"tf":3.605551275463989},"112":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907},"68":{"tf":5.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0}},"e":{"c":{"c":{"6":{"2":{"9":{"9":{"d":{"b":{"9":{"df":0,"docs":{},"e":{"c":{"8":{"2":{"3":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"2":{"8":{"3":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951}}}},"2":{"'":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"0":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"56":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"6":{"9":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"7":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"4":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0}},"m":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{"6":{"0":{"9":{"1":{"9":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"1":{"df":1,"docs":{"17":{"tf":1.0}}},"4":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"6":{"1":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"1":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":1.0},"72":{"tf":1.0}}},"2":{".":{"7":{"3":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{"9":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"7":{"1":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"6":{"df":3,"docs":{"122":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}},"df":1,"docs":{"62":{"tf":1.0}}},"6":{"9":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"3":{"7":{"1":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"5":{"8":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"9":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}},"df":10,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"111":{"tf":2.0},"140":{"tf":1.0},"144":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"3":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"3":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"0":{"0":{"2":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"69":{"tf":1.0}}},"2":{"3":{"1":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"111":{"tf":2.23606797749979},"24":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"3":{".":{"6":{"7":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"4":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"3":{"9":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"8":{"8":{"7":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}},"9":{"df":1,"docs":{"93":{"tf":1.0}}},"d":{"df":1,"docs":{"104":{"tf":1.0}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"116":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}},"x":{"9":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"4":{",":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"2":{"df":1,"docs":{"69":{"tf":1.0}}},"3":{"df":1,"docs":{"69":{"tf":1.0}}},"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},".":{"1":{"4":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{"1":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"b":{"/":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.6457513110645907}}},"5":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"6":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0}}},"8":{"4":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"64":{"tf":1.0}}},"df":1,"docs":{"45":{"tf":1.0}}},"9":{"4":{"1":{"1":{"3":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"7":{"8":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":7,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"5":{"+":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},".":{"4":{".":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"1":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"55":{"tf":2.0}}},"3":{"c":{"b":{"7":{"b":{"0":{"9":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"1":{"4":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"3":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":13,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"111":{"tf":4.47213595499958},"112":{"tf":1.0},"142":{"tf":1.0},"34":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"x":{"5":{"df":3,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"9":{"0":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}}},"3":{"3":{"2":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"2":{".":{"4":{"4":{"6":{"2":{"8":{"6":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"8":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"5":{"3":{"5":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"9":{"1":{"2":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{"9":{"6":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"7":{"1":{"3":{"2":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"43":{"tf":1.0}}},"9":{"3":{"1":{"1":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"6":{"6":{"5":{"8":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"6":{"5":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"103":{"tf":2.8284271247461903},"114":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}},"9":{"0":{"3":{"6":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"124":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}},"6":{"0":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"4":{"6":{"0":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"5":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":25,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"y":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"59":{"tf":2.6457513110645907}}},"z":{"df":0,"docs":{},"n":{"1":{"2":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{"8":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"1":{"7":{"df":0,"docs":{},"h":{"3":{"df":0,"docs":{},"e":{"2":{"5":{"df":0,"docs":{},"e":{"3":{"a":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"e":{"c":{"4":{"df":0,"docs":{},"e":{"1":{"9":{"6":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"+":{"1":{"0":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"0":{"df":1,"docs":{"43":{"tf":1.0}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"l":{"df":2,"docs":{"112":{"tf":1.0},"123":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}}},"v":{"df":9,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"67":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.449489742783178},"133":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":3.4641016151377544},"107":{"tf":2.449489742783178},"108":{"tf":1.7320508075688772},"131":{"tf":1.0},"133":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"105":{"tf":1.7320508075688772},"106":{"tf":2.23606797749979},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"108":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"105":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"104":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"k":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"m":{"df":1,"docs":{"72":{"tf":1.0}}},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"54":{"tf":1.0}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":23,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"8":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"95":{"tf":1.0}}}}},"c":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.0}}},"d":{"df":9,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"107":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"69":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":2.0},"143":{"tf":1.7320508075688772},"144":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903}}}}}}},"df":5,"docs":{"117":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"145":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"70":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}}}},"h":{"a":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"106":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":19,"docs":{"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"106":{"tf":1.0},"70":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":21,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"86":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"129":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"99":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":10,"docs":{"100":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":2.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"y":{"df":1,"docs":{"68":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"141":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"120":{"tf":1.0},"79":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"107":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"107":{"tf":2.0},"54":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"34":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"11":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"68":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.7320508075688772}}},"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"127":{"tf":1.0},"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"112":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"q":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"7":{"3":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"55":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"144":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"m":{"'":{"df":3,"docs":{"26":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},".":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":17,"docs":{"132":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"29":{"tf":2.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":2.6457513110645907},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"50":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"113":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":7,"docs":{"111":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.0},"37":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"122":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"102":{"tf":1.0}},"f":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"138":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"2":{"0":{"4":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"=":{"=":{"\"":{"0":{"d":{"2":{"8":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"37":{"tf":1.0},"38":{"tf":1.7320508075688772}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"133":{"tf":1.4142135623730951},"16":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"131":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"133":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"106":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0}}}}}}},"x":{"df":2,"docs":{"102":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"98":{"tf":1.0}}}}},"b":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"'":{"\\":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":17,"docs":{"111":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"144":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.0},"46":{"tf":2.0},"66":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0}}},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":13,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}},"u":{"d":{"df":3,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"78":{"tf":1.0}},"e":{":":{":":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"1":{"1":{"5":{"2":{"0":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":7,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"93":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":16,"docs":{"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"132":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":21,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"59":{"tf":1.4142135623730951},"68":{"tf":1.0}},"n":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"100":{"tf":1.0}}}},"w":{"df":13,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"39":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":2.449489742783178}}}}},"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.7320508075688772}}}}}}},"t":{"df":20,"docs":{"100":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":2.8284271247461903},"73":{"tf":2.0},"75":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"90":{"tf":2.0},"91":{"tf":2.0},"93":{"tf":2.23606797749979},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"42":{"tf":1.0},"56":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":8,"docs":{"36":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":8,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":2.6457513110645907},"56":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.7320508075688772}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"129":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"'":{"df":1,"docs":{"116":{"tf":1.0}}},".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"63":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"2":{"c":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}}}},"0":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{},"e":{"0":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":41,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":2.6457513110645907},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"13":{"tf":2.8284271247461903},"133":{"tf":2.0},"27":{"tf":1.0},"3":{"tf":1.7320508075688772},"36":{"tf":1.0},"42":{"tf":2.6457513110645907},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":2.6457513110645907},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"'":{"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.0}}},"df":20,"docs":{"0":{"tf":1.0},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"l":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"135":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"73":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":3.1622776601683795},"59":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":3.605551275463989},"58":{"tf":1.0},"59":{"tf":4.0}}}}}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.4142135623730951}}}},"i":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"66":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"o":{"a":{"d":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":5,"docs":{"133":{"tf":1.0},"51":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"s":{"df":1,"docs":{"69":{"tf":2.23606797749979}}}},"u":{"df":6,"docs":{"105":{"tf":1.0},"34":{"tf":1.4142135623730951},"70":{"tf":1.0},"88":{"tf":2.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"(":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"[":{"b":{"'":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":6,"docs":{"122":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"109":{"tf":1.0},"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":20,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":9,"docs":{"105":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"122":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"129":{"tf":1.0}}},"i":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"109":{"tf":1.0},"113":{"tf":2.0},"114":{"tf":3.0},"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"20":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":18,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.7320508075688772},"55":{"tf":3.1622776601683795},"70":{"tf":1.0},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":2.8284271247461903},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"c":{"/":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":2.449489742783178},"34":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"111":{"tf":1.0},"126":{"tf":1.0},"68":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"99":{"tf":3.3166247903554}}}},"df":0,"docs":{}},"l":{"df":19,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"131":{"tf":1.0},"141":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"9":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"82":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":2.23606797749979},"54":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":2.23606797749979},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.0}}}},"c":{"df":2,"docs":{"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":3,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":24,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.4142135623730951},"138":{"tf":1.0},"145":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":2.8284271247461903},"36":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.449489742783178},"56":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"114":{"tf":1.7320508075688772},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":3,"docs":{"137":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}}},"d":{"c":{"_":{"a":{"c":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.0}}},"df":11,"docs":{"11":{"tf":2.0},"111":{"tf":1.0},"12":{"tf":1.4142135623730951},"139":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":2.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"106":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":2.0},"104":{"tf":2.0},"108":{"tf":2.0},"38":{"tf":1.0},"78":{"tf":2.449489742783178},"82":{"tf":2.449489742783178},"83":{"tf":2.449489742783178},"84":{"tf":2.449489742783178},"86":{"tf":2.449489742783178},"87":{"tf":2.449489742783178},"93":{"tf":2.0},"95":{"tf":2.0},"97":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"107":{"tf":1.7320508075688772},"68":{"tf":2.0},"96":{"tf":2.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"1":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"114":{"tf":1.7320508075688772}}},"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":2.449489742783178},"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"84":{"tf":1.4142135623730951}},"g":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":2.449489742783178},"17":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"122":{"tf":1.0},"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"'":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"df":20,"docs":{"129":{"tf":1.4142135623730951},"135":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":2.6457513110645907},"44":{"tf":2.8284271247461903},"45":{"tf":2.6457513110645907},"46":{"tf":2.8284271247461903},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"93":{"tf":2.8284271247461903},"95":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.7320508075688772},"59":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"20":{"tf":1.0},"75":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"20":{"tf":1.0},"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"1":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"56":{"tf":1.0}},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":32,"docs":{"102":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":2.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":1,"docs":{"111":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"m":{"3":{"df":1,"docs":{"75":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"131":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}},"o":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"75":{"tf":2.23606797749979}},"e":{"df":3,"docs":{"36":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":4.358898943540674},"64":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"70":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":16,"docs":{"1":{"tf":1.0},"129":{"tf":1.7320508075688772},"56":{"tf":1.0},"70":{"tf":3.7416573867739413},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"84":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"100":{"tf":2.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"98":{"tf":2.449489742783178},"99":{"tf":1.0}}}},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"36":{"tf":1.0},"55":{"tf":3.872983346207417},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.7320508075688772}}}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"100":{"tf":1.7320508075688772},"107":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.6457513110645907},"72":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"114":{"tf":1.0},"123":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"133":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"114":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"56":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"13":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"106":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"98":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}}},"df":3,"docs":{"108":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":2.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"78":{"tf":1.0},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":2.0},"116":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"73":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":11,"docs":{"106":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.4142135623730951},"36":{"tf":1.0},"59":{"tf":3.1622776601683795},"64":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":24,"docs":{"1":{"tf":1.7320508075688772},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":2.23606797749979},"132":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"8":{"tf":2.23606797749979},"88":{"tf":2.449489742783178},"90":{"tf":2.0},"91":{"tf":1.7320508075688772},"93":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"84":{"tf":1.0}}},"t":{"df":6,"docs":{"1":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"119":{"tf":1.7320508075688772}}}}},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"111":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"111":{"tf":6.164414002968976}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"111":{"tf":3.4641016151377544}}}},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"83":{"tf":2.23606797749979},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":7,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"137":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"114":{"tf":1.0}}}},"df":11,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":3.0},"54":{"tf":1.4142135623730951},"55":{"tf":4.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"_":{"0":{"0":{"0":{"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"123":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"125":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"3":{"tf":1.4142135623730951},"55":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"143":{"tf":1.4142135623730951}},"u":{"df":2,"docs":{"10":{"tf":1.0},"145":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"114":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"137":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":4,"docs":{"19":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}},"w":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"+":{"a":{"df":1,"docs":{"74":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":14,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.4142135623730951},"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"98":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"51":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":1,"docs":{"127":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"27":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{".":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"x":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"z":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"104":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"50":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"70":{"tf":3.3166247903554},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"y":{"df":1,"docs":{"128":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":1.0},"73":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"133":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"49":{"tf":1.0},"70":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"_":{"a":{"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":2.0}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"69":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":2.0}}}}}},"df":19,"docs":{"1":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"59":{"tf":3.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":3,"docs":{"31":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"107":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"98":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"70":{"tf":1.4142135623730951}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"d":{"b":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":5,"docs":{"107":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"111":{"tf":2.449489742783178},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"38":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":1.0},"70":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}},"l":{"a":{"df":0,"docs":{},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"2":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":2.449489742783178},"67":{"tf":1.0}},"m":{"df":1,"docs":{"66":{"tf":1.0}}},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":2.8284271247461903},"59":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"133":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":14,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":7,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0},"52":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"78":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"44":{"tf":3.0},"46":{"tf":3.0},"63":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"123":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"133":{"tf":1.0},"143":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"42":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"111":{"tf":1.0}},"e":{"d":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"v":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"/":{"0":{"0":{"1":{"/":{"0":{"6":{"5":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":2,"docs":{"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":4,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":39,"docs":{"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.0},"133":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":21,"docs":{"10":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":2.23606797749979},"72":{"tf":2.0},"73":{"tf":1.7320508075688772},"75":{"tf":2.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":1.0},"93":{"tf":2.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":29,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"14":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"116":{"tf":1.0},"123":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"125":{"tf":2.449489742783178},"126":{"tf":2.0},"127":{"tf":1.7320508075688772},"129":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}},"m":{"df":1,"docs":{"124":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"131":{"tf":1.4142135623730951}}}}}},"r":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"100":{"tf":2.449489742783178},"101":{"tf":1.0},"102":{"tf":2.0},"103":{"tf":1.0},"104":{"tf":1.0},"111":{"tf":3.4641016151377544},"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"49":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.449489742783178}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.0}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":2.23606797749979}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"73":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":2.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"59":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"117":{"tf":1.0},"135":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"130":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"e":{"(":{"&":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":15,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.8284271247461903},"115":{"tf":1.7320508075688772},"116":{"tf":3.872983346207417},"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"122":{"tf":1.0},"47":{"tf":1.0}}}}},"m":{"a":{"df":1,"docs":{"122":{"tf":2.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"15":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}}}},"df":5,"docs":{"109":{"tf":1.0},"123":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"g":{".":{"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"80":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":17,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"123":{"tf":1.0},"144":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"125":{"tf":1.0},"132":{"tf":1.4142135623730951},"62":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":1,"docs":{"133":{"tf":1.0}}},"r":{"df":5,"docs":{"133":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":2.0},"93":{"tf":1.0},"95":{"tf":2.449489742783178}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"53":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"100":{"tf":1.0},"26":{"tf":1.0},"9":{"tf":1.0}}}},"a":{"b":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}},"h":{"df":0,"docs":{},"f":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"110":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772},"116":{"tf":2.23606797749979},"142":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"109":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":2,"docs":{"104":{"tf":1.0},"133":{"tf":1.0}}},"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"s":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"df":4,"docs":{"11":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"110":{"tf":1.4142135623730951},"112":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":4,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":2.23606797749979}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"12":{"tf":1.0},"53":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"110":{"tf":1.7320508075688772},"114":{"tf":2.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":1,"docs":{"113":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"111":{"tf":1.0},"133":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"111":{"tf":1.0}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"124":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"f":{"3":{"2":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"m":{"b":{"df":18,"docs":{"135":{"tf":1.7320508075688772},"138":{"tf":1.0},"145":{"tf":1.4142135623730951},"16":{"tf":1.0},"19":{"tf":2.449489742783178},"36":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":2.449489742783178},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"135":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":36,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"109":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"12":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.6457513110645907},"13":{"tf":1.0},"130":{"tf":1.7320508075688772},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.23606797749979},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.7320508075688772},"95":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"114":{"tf":1.0},"140":{"tf":2.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"111":{"tf":1.0},"122":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"40":{"tf":1.0},"55":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"59":{"tf":1.7320508075688772},"72":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.0},"63":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":27,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"140":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":28,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"111":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"102":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"55":{"tf":1.4142135623730951},"83":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"4":{"6":{"3":{"df":1,"docs":{"137":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"108":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":2.6457513110645907},"59":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"56":{"tf":2.0}}},"c":{"/":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"d":{"/":{"9":{"9":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":6,"docs":{"1":{"tf":1.7320508075688772},"100":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"106":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}},"t":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":2.23606797749979}},"u":{"df":3,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"36":{"tf":1.4142135623730951},"72":{"tf":1.0},"95":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"116":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"140":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"88":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"78":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"119":{"tf":2.8284271247461903},"120":{"tf":1.0},"123":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":2.8284271247461903},"145":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"117":{"tf":1.0},"131":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.0}}}},"t":{"df":2,"docs":{"112":{"tf":1.0},"74":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"37":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"102":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":17,"docs":{"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}}},"y":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"f":{"3":{"2":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"3":{"c":{"1":{"9":{"5":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"56":{"tf":1.0},"68":{"tf":1.0}}},"t":{"df":3,"docs":{"13":{"tf":1.0},"54":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"137":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"40":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772}}},"s":{"df":8,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"54":{"tf":1.0},"66":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0}}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}}},"q":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"69":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"127":{"tf":1.0},"70":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}}},"df":2,"docs":{"142":{"tf":2.0},"55":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"129":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":8,"docs":{"111":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"40":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"75":{"tf":1.0},"98":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":16,"docs":{"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":3.0},"59":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}}}},"d":{"df":18,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":2.23606797749979},"16":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"123":{"tf":1.0},"137":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"69":{"tf":2.0},"79":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":18,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"144":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"78":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"t":{"df":1,"docs":{"94":{"tf":1.0}}},"x":{"df":5,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"137":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"40":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":15,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"138":{"tf":1.0},"36":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":3.605551275463989},"58":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"142":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"n":{"df":28,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":4.58257569495584},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"1":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"13":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":2.23606797749979},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"82":{"tf":1.0}}}}}},"o":{"d":{"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"78":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.0},"59":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":5,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"139":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"132":{"tf":1.0},"58":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"144":{"tf":4.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":2.0},"73":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"|":{"c":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"114":{"tf":1.0},"133":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"108":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"y":{"_":{"a":{":":{":":{"df":0,"docs":{},"k":{"1":{"0":{"0":{"df":9,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"128":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"13":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}}},"l":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"r":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":4,"docs":{"111":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":4,"docs":{"124":{"tf":1.0},"13":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":2.23606797749979},"115":{"tf":1.0},"116":{"tf":2.23606797749979},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"133":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"133":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"47":{"tf":1.0},"56":{"tf":1.0}}}}}}},"g":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":2.23606797749979}}}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"9":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"115":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":11,"docs":{"109":{"tf":2.0},"110":{"tf":2.8284271247461903},"111":{"tf":5.0},"112":{"tf":3.605551275463989},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":2.23606797749979},"116":{"tf":2.23606797749979},"119":{"tf":1.0},"125":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"111":{"tf":2.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"98":{"tf":1.0}}}}}},"c":{"c":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"31":{"tf":1.0}}},"df":0,"docs":{}},"d":{"b":{"'":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":21,"docs":{"138":{"tf":2.23606797749979},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.7320508075688772},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":6.708203932499369},"64":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":4,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.7320508075688772},"113":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":22,"docs":{"111":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"19":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"104":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":1,"docs":{"115":{"tf":1.4142135623730951}}}}}}},"df":4,"docs":{"104":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"20":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"116":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"124":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"143":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"110":{"tf":1.0},"3":{"tf":1.4142135623730951},"54":{"tf":1.0}}}},"df":25,"docs":{"106":{"tf":1.0},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"119":{"tf":1.0},"139":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"d":{"df":6,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}},"df":3,"docs":{"114":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.0}},"t":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":3.0}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"0":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"1":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"b":{"df":2,"docs":{"12":{"tf":1.0},"29":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"102":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":2.6457513110645907}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}}},"y":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"116":{"tf":1.7320508075688772}},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"6":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"d":{"df":3,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":3.0},"112":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"70":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"5":{"tf":1.0},"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"110":{"tf":1.0}}},"df":1,"docs":{"75":{"tf":1.0}}}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"131":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"69":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"m":{"df":4,"docs":{"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"{":{"b":{"a":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"r":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"122":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"129":{"tf":3.4641016151377544},"13":{"tf":1.4142135623730951},"133":{"tf":2.0},"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0}},"f":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.0}}},"l":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"133":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":26,"docs":{"10":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"13":{"tf":1.7320508075688772},"130":{"tf":1.0},"41":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"111":{"tf":1.0},"135":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"86":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":2.0}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.4142135623730951},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":4.47213595499958}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"109":{"tf":1.0}}}}}}},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}},"t":{"df":1,"docs":{"8":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"p":{"df":6,"docs":{"111":{"tf":1.0},"117":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"3":{"tf":1.0}}}},"n":{"c":{"df":5,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"26":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}}},"df":23,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"2":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"84":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"x":{"a":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":7,"docs":{"107":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}}}}},"t":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"59":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":2,"docs":{"106":{"tf":1.0},"73":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"70":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"107":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"84":{"tf":1.0}}}},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},".":{"df":6,"docs":{"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"27":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"93":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"133":{"tf":1.0},"78":{"tf":1.4142135623730951}}}},"2":{"c":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"i":{"2":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":22,"docs":{"1":{"tf":1.0},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.0},"88":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.23606797749979},"93":{"tf":2.8284271247461903},"94":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}},"3":{"2":{"df":2,"docs":{"111":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"111":{"tf":2.449489742783178}}},"d":{"df":6,"docs":{"34":{"tf":1.0},"37":{"tf":2.23606797749979},"38":{"tf":1.4142135623730951},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"93":{"tf":2.0}},"e":{"a":{"df":5,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"93":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"101":{"tf":1.0}},"i":{"df":1,"docs":{"101":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0}}}}},"s":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"112":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":2.0},"13":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":2.0},"116":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":2.6457513110645907},"133":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"63":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":10,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":1,"docs":{"112":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"102":{"tf":1.0},"111":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"i":{"c":{"df":3,"docs":{"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}}}},"o":{"df":4,"docs":{"140":{"tf":1.0},"143":{"tf":2.23606797749979},"144":{"tf":2.0},"59":{"tf":1.7320508075688772}},"r":{"df":0,"docs":{},"m":{"df":13,"docs":{"100":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"16":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}},"s":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}}},"df":6,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.4142135623730951},"78":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":3,"docs":{"1":{"tf":1.0},"111":{"tf":2.8284271247461903},"125":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"105":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}},"n":{"c":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":18,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"130":{"tf":1.0},"141":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"120":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.7320508075688772},"29":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"111":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"111":{"tf":1.0},"112":{"tf":1.0}},"r":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"l":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}}},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"109":{"tf":1.0},"116":{"tf":1.7320508075688772},"123":{"tf":1.0},"37":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"129":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.7320508075688772},"78":{"tf":1.0},"86":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":11,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"36":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}},"n":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":9,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":3.605551275463989},"116":{"tf":2.23606797749979},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":2.449489742783178},"133":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"107":{"tf":1.7320508075688772},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":3,"docs":{"119":{"tf":1.0},"2":{"tf":1.0},"96":{"tf":1.0}},"t":{"df":7,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"109":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}}},"r":{"d":{"a":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"/":{"df":0,"docs":{},"w":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"122":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":5,"docs":{"117":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.0}}}}},"t":{"'":{"df":17,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"80":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"96":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"117":{"tf":1.0},"130":{"tf":1.0}}},"r":{"df":2,"docs":{"112":{"tf":1.0},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"101":{"tf":1.0}}}},"j":{"a":{"b":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":5,"docs":{"141":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}}},"k":{"1":{"0":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"/":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"107":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"124":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"102":{"tf":1.0}}}},"y":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"73":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"74":{"tf":1.0},"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}},"h":{"df":0,"docs":{},"z":{"df":2,"docs":{"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"d":{"df":3,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":1.4142135623730951},"20":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"69":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":4,"docs":{"119":{"tf":1.0},"133":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":9,"docs":{"49":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":2.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}}},"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.0}},"e":{"a":{"d":{"df":2,"docs":{"63":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"137":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}},"v":{"df":6,"docs":{"122":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"84":{"tf":1.0}}}},"d":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"_":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":40,"docs":{"100":{"tf":2.449489742783178},"101":{"tf":2.23606797749979},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":3.3166247903554},"124":{"tf":2.0},"125":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":2.23606797749979},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.449489742783178},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":2.6457513110645907},"63":{"tf":2.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951},"69":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"98":{"tf":2.6457513110645907},"99":{"tf":1.7320508075688772}},"s":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"0":{"]":{"[":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{".":{"1":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":23,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"133":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}}},"t":{"'":{"df":19,"docs":{"106":{"tf":1.0},"116":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.0},"70":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"df":1,"docs":{"56":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"116":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"13":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}},":":{":":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"104":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"109":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"116":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.4142135623730951},"78":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":10,"docs":{"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"99":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":16,"docs":{"140":{"tf":1.7320508075688772},"141":{"tf":2.0},"36":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.8284271247461903},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":2.23606797749979},"98":{"tf":1.0}}},"k":{"df":4,"docs":{"20":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{".":{"b":{"df":0,"docs":{},"z":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"i":{"2":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":13,"docs":{"135":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"33":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"74":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"39":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"75":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":8,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"79":{"tf":1.0},"8":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}}},"o":{"a":{"d":{"df":2,"docs":{"124":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"1":{"3":{"3":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":9,"docs":{"104":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"8":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"110":{"tf":2.0},"111":{"tf":1.0},"112":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"59":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"p":{"df":27,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.8284271247461903},"115":{"tf":2.449489742783178},"116":{"tf":1.7320508075688772},"124":{"tf":1.0},"54":{"tf":1.7320508075688772},"59":{"tf":2.6457513110645907},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"13":{"tf":1.0}}},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"t":{"df":9,"docs":{"117":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0},"93":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}},"w":{"df":9,"docs":{"10":{"tf":1.0},"114":{"tf":1.7320508075688772},"124":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"111":{"tf":1.0},"70":{"tf":1.0}}}}}},"s":{"df":2,"docs":{"34":{"tf":1.0},"72":{"tf":1.4142135623730951}},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"2":{"c":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"2":{"c":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.4142135623730951},"15":{"tf":1.0},"92":{"tf":2.6457513110645907},"93":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"69":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"m":{"0":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":2.0},"55":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"55":{"tf":1.0}}},"3":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"5":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":1.0}}},"4":{"df":3,"docs":{"43":{"tf":1.0},"44":{"tf":2.0},"55":{"tf":1.4142135623730951}},"f":{"df":1,"docs":{"55":{"tf":1.0}}}},"7":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"a":{"c":{"df":2,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"o":{"df":3,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"31":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"132":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"93":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.0},"104":{"tf":2.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"133":{"tf":1.0},"42":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":4,"docs":{"104":{"tf":3.7416573867739413},"126":{"tf":1.0},"133":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"/":{"1":{"0":{"0":{".":{"0":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"112":{"tf":1.0},"140":{"tf":1.7320508075688772}},"s":{":":{"$":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{}}}}},"1":{"2":{"3":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":2.449489742783178},"115":{"tf":2.449489742783178},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"140":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":2.23606797749979},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"92":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":28,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"135":{"tf":1.0},"142":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"93":{"tf":1.0},"95":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"111":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":11,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"u":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":1,"docs":{"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"143":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951}}}}},"h":{"df":2,"docs":{"102":{"tf":1.0},"99":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":13,"docs":{"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.4142135623730951},"42":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"g":{"df":1,"docs":{"108":{"tf":2.449489742783178}}}},"df":1,"docs":{"108":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951}}}}}}},"y":{"b":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"'":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"df":7,"docs":{"42":{"tf":2.0},"43":{"tf":2.0},"45":{"tf":2.0},"56":{"tf":2.23606797749979},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"df":12,"docs":{"133":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"93":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":10,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.4142135623730951},"133":{"tf":1.0},"34":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"123":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"8":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}},"m":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"122":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"u":{"df":1,"docs":{"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"a":{"df":1,"docs":{"74":{"tf":1.4142135623730951}},"l":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"131":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"g":{"df":1,"docs":{"104":{"tf":2.23606797749979}}},"h":{"df":0,"docs":{},"z":{"df":1,"docs":{"108":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"99":{"tf":1.0}}},"df":44,"docs":{"100":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"36":{"tf":3.1622776601683795},"42":{"tf":2.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.8284271247461903},"56":{"tf":2.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.6457513110645907},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"70":{"tf":1.0},"72":{"tf":2.0},"73":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}}},":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"116":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"108":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0}}}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}},"m":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"27":{"tf":1.0},"38":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":37,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":2.0},"119":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"13":{"tf":1.4142135623730951},"132":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":2.0},"70":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":2.449489742783178},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"56":{"tf":1.0}}},"/":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}}}}},"df":8,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"73":{"tf":2.8284271247461903},"74":{"tf":2.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"78":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"c":{".":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":2,"docs":{"9":{"tf":1.0},"93":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}},"d":{"df":15,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}},"e":{":":{"=":{"\"":{"6":{"6":{"6":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"59":{"tf":2.23606797749979},"69":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}},"l":{"df":5,"docs":{"123":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":15,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"129":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.7320508075688772},"58":{"tf":1.0},"72":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"145":{"tf":1.0},"59":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":31,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"137":{"tf":1.0},"143":{"tf":1.0},"19":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"131":{"tf":1.0},"133":{"tf":1.4142135623730951},"88":{"tf":1.0},"92":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"132":{"tf":2.6457513110645907}}}}},"v":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":8,"docs":{"104":{"tf":1.0},"106":{"tf":2.0},"111":{"tf":3.7416573867739413},"112":{"tf":1.0},"132":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0}}}}}}}}},"s":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"p":{"4":{"3":{"0":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"109":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"119":{"tf":3.1622776601683795},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"127":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":25,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":2.6457513110645907},"102":{"tf":2.6457513110645907},"103":{"tf":2.6457513110645907},"104":{"tf":2.6457513110645907},"108":{"tf":2.23606797749979},"111":{"tf":2.8284271247461903},"112":{"tf":2.23606797749979},"115":{"tf":2.23606797749979},"116":{"tf":2.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"93":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.0},"116":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"114":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951}}}}}}},"n":{"$":{"df":0,"docs":{},"u":{"$":{"df":0,"docs":{},"f":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"5":{"1":{"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}}},"2":{"8":{"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"81":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":14,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"104":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}},"b":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"*":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"'":{"df":0,"docs":{},"x":{"'":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"78":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}},"df":9,"docs":{"140":{"tf":2.6457513110645907},"141":{"tf":2.0},"142":{"tf":1.0},"144":{"tf":3.1622776601683795},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"116":{"tf":1.0},"123":{"tf":1.0},"13":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":23,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"13":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"73":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"106":{"tf":1.0},"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":13,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"86":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}},"n":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"114":{"tf":2.0},"133":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":2.6457513110645907},"16":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":2.0},"39":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":3.0},"70":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":1,"docs":{"141":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"36":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"x":{"df":5,"docs":{"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{"df":24,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":7,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"40":{"tf":1.0},"78":{"tf":1.4142135623730951}},"e":{"df":16,"docs":{"111":{"tf":1.0},"137":{"tf":2.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"36":{"tf":2.0},"55":{"tf":4.0},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"69":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":1.0}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"59":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"98":{"tf":1.7320508075688772}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":28,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"117":{"tf":1.0},"13":{"tf":1.4142135623730951},"139":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.8284271247461903},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":5,"docs":{"111":{"tf":1.0},"120":{"tf":1.0},"56":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":30,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"133":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"5":{"1":{"8":{"2":{"2":{"_":{"df":0,"docs":{},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"45":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0}}},"2":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"5":{"1":{"df":1,"docs":{"121":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"8":{"3":{"3":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"x":{"a":{"a":{"df":4,"docs":{"36":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"111":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.23606797749979},"13":{"tf":1.0},"133":{"tf":1.0},"43":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"129":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"45":{"tf":2.0},"55":{"tf":2.0},"59":{"tf":1.4142135623730951},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"100":{"tf":1.0},"106":{"tf":2.0},"107":{"tf":2.0},"54":{"tf":1.0},"98":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"96":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"108":{"tf":1.0},"123":{"tf":1.4142135623730951},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":7,"docs":{"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"113":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"144":{"tf":2.0}}}}},"n":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"c":{"df":13,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"139":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":40,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"12":{"tf":2.0},"120":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":2.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"70":{"tf":2.23606797749979},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"o":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"122":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":5,"docs":{"111":{"tf":1.4142135623730951},"138":{"tf":1.0},"3":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"1":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951}}},"r":{"df":9,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"127":{"tf":1.0},"84":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"111":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"36":{"tf":1.0},"72":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":18,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"123":{"tf":1.0},"19":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"107":{"tf":1.0},"133":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}},"s":{"/":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"120":{"tf":1.0},"129":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"73":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.6457513110645907}}}}},"df":26,"docs":{"100":{"tf":2.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"12":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":2.8284271247461903},"135":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"111":{"tf":1.4142135623730951},"125":{"tf":1.0},"126":{"tf":1.0},"142":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"111":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"112":{"tf":1.0},"12":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"133":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"111":{"tf":1.0},"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"p":{"a":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"0":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"a":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"49":{"tf":2.23606797749979},"50":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.7320508075688772}},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"26":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"7":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":7,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"62":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"54":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.0},"66":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":9,"docs":{"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"y":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":7,"docs":{"78":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"t":{"df":16,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":1.0},"45":{"tf":2.449489742783178},"46":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"132":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"70":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"e":{"d":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"=":{"$":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{":":{"$":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"g":{"c":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"108":{"tf":1.0},"26":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"59":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"93":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"df":2,"docs":{"59":{"tf":1.0},"73":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":3,"docs":{"129":{"tf":1.0},"142":{"tf":1.4142135623730951},"70":{"tf":1.0}}},"df":2,"docs":{"113":{"tf":1.0},"26":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"133":{"tf":1.4142135623730951}}}}},"r":{"df":3,"docs":{"59":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"93":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"1":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"116":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":2.23606797749979},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":2.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}}}}}},"k":{"df":1,"docs":{"82":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":2.0}}}},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"106":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"102":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":4,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":2.8284271247461903},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"df":5,"docs":{"112":{"tf":1.0},"114":{"tf":1.0},"52":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"n":{"df":12,"docs":{"114":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"45":{"tf":2.23606797749979},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"69":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"2":{"tf":1.0},"30":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"100":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}}}}}}},"y":{"df":4,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0}}},"df":3,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":2.0},"112":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"106":{"tf":1.0},"117":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"129":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":2,"docs":{"70":{"tf":1.0},"95":{"tf":1.0}},"g":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":3,"docs":{"27":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"100":{"tf":1.4142135623730951},"102":{"tf":2.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"119":{"tf":2.6457513110645907},"142":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"82":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"144":{"tf":1.0},"59":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"144":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"122":{"tf":1.0}}}},"p":{"df":3,"docs":{"73":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"109":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"7":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"78":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"70":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":2.0},"127":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"2":{"tf":1.0},"70":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"132":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"1":{"tf":1.0},"119":{"tf":1.4142135623730951},"133":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"37":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}},"s":{"df":5,"docs":{"113":{"tf":1.0},"114":{"tf":2.449489742783178},"123":{"tf":1.0},"125":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"20":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":12,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"13":{"tf":1.0},"137":{"tf":1.7320508075688772},"2":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"132":{"tf":1.0}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"106":{"tf":1.0},"142":{"tf":3.0},"143":{"tf":3.0},"144":{"tf":2.449489742783178},"36":{"tf":1.0},"40":{"tf":1.0},"59":{"tf":3.1622776601683795},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":2.8284271247461903}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":4,"docs":{"135":{"tf":1.0},"19":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":7,"docs":{"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"121":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772},"59":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"78":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"59":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"70":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"127":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"t":{"df":4,"docs":{"12":{"tf":1.0},"43":{"tf":2.449489742783178},"45":{"tf":2.449489742783178},"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":39,"docs":{"1":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"54":{"tf":3.1622776601683795},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"61":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"133":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"106":{"tf":2.0},"124":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"98":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"123":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"112":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":13,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":2.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":3.1622776601683795},"76":{"tf":1.4142135623730951},"88":{"tf":2.8284271247461903},"89":{"tf":2.23606797749979},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":21,"docs":{"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":2.0},"96":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"143":{"tf":1.4142135623730951}}}}}},"u":{"b":{"(":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"111":{"tf":2.8284271247461903},"114":{"tf":1.0},"116":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"64":{"tf":1.0}}},"df":1,"docs":{"73":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"106":{"tf":1.0},"117":{"tf":1.0}}},"s":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.4142135623730951}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"131":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"78":{"tf":1.0},"9":{"tf":1.7320508075688772},"99":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"104":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"93":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"30":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"w":{"d":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":2.6457513110645907}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"q":{"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":1,"docs":{"74":{"tf":1.0}},"f":{"a":{"a":{"df":0,"docs":{},"h":{"3":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}},"n":{"4":{"8":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"a":{"a":{"a":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":3.0},"101":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"100":{"tf":1.0},"104":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"111":{"tf":1.0},"47":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"133":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":16,"docs":{"108":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"70":{"tf":1.0},"78":{"tf":1.0}}}}}},"r":{"/":{"df":0,"docs":{},"w":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}},"0":{"df":2,"docs":{"137":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}},"a":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"102":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":6,"docs":{"122":{"tf":2.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"110":{"tf":1.0},"111":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"127":{"tf":1.0},"70":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"111":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"105":{"tf":1.0},"119":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"d":{"df":25,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"13":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.7320508075688772},"93":{"tf":3.1622776601683795},"94":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":7,"docs":{"104":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.4142135623730951},"133":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"67":{"tf":1.0},"84":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"63":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":9,"docs":{"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":2.23606797749979},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"85":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"139":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"114":{"tf":2.0}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"36":{"tf":1.0}},"u":{"c":{"df":2,"docs":{"112":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"114":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"137":{"tf":1.0},"144":{"tf":2.23606797749979},"59":{"tf":1.0},"92":{"tf":2.6457513110645907},"93":{"tf":2.8284271247461903},"94":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"121":{"tf":1.4142135623730951},"135":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"29":{"tf":1.0},"69":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"v":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"130":{"tf":1.4142135623730951},"56":{"tf":1.0},"69":{"tf":1.0},"92":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"133":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"107":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"104":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":5,"docs":{"132":{"tf":1.0},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951}}},"v":{"df":3,"docs":{"38":{"tf":1.4142135623730951},"54":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"141":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":4,"docs":{"115":{"tf":1.0},"40":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"37":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"4":{"tf":1.7320508075688772},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":2.0},"4":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"116":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":1.0},"78":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"86":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"111":{"tf":1.0},"13":{"tf":2.23606797749979},"2":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.0},"145":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":2.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.7320508075688772},"63":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"123":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"86":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":7,"docs":{"111":{"tf":2.0},"56":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"m":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"111":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"17":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"11":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"86":{"tf":2.23606797749979}}}}}}},"f":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":16,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}}},"s":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"133":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"c":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":4,"docs":{"111":{"tf":2.8284271247461903},"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951}}}},"o":{"a":{"d":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"133":{"tf":1.4142135623730951}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"69":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"132":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":16,"docs":{"54":{"tf":2.0},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.449489742783178},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":2.6457513110645907}},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{"1":{"3":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"w":{"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":2,"docs":{"111":{"tf":3.4641016151377544},"62":{"tf":1.0}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"1":{"0":{"0":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}}},"s":{"df":2,"docs":{"135":{"tf":1.0},"19":{"tf":1.0}}},"t":{"c":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}},"df":2,"docs":{"54":{"tf":1.4142135623730951},"64":{"tf":1.0}},"o":{"df":1,"docs":{"12":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":7,"docs":{"106":{"tf":1.0},"54":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"95":{"tf":1.0},"98":{"tf":1.0}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"110":{"tf":1.0},"135":{"tf":1.0},"27":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951}}}},"n":{"df":16,"docs":{"112":{"tf":2.0},"119":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"c":{"df":2,"docs":{"17":{"tf":2.23606797749979},"55":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":30,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":2.0},"114":{"tf":1.0},"12":{"tf":2.23606797749979},"123":{"tf":1.7320508075688772},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":2.449489742783178},"135":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":5,"docs":{"137":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.4142135623730951},"55":{"tf":2.0}}}}}}},"w":{"df":2,"docs":{"34":{"tf":2.0},"72":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"49":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":15,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"141":{"tf":1.4142135623730951},"20":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"106":{"tf":1.0},"55":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.4142135623730951},"128":{"tf":1.0}}}},"w":{"df":1,"docs":{"88":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"104":{"tf":1.0}}}}}},"l":{"df":1,"docs":{"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"111":{"tf":2.6457513110645907},"112":{"tf":1.7320508075688772}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"d":{"a":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.0},"128":{"tf":1.0},"36":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"55":{"tf":2.8284271247461903},"59":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":2.6457513110645907},"92":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":27,"docs":{"104":{"tf":2.0},"106":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"n":{"df":4,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":2.449489742783178},"5":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"111":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"111":{"tf":2.0}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"111":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"=":{"0":{"df":0,"docs":{},"x":{"d":{"4":{"7":{"2":{"df":0,"docs":{},"e":{"1":{"6":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":4.123105625617661}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"n":{"d":{"df":16,"docs":{"123":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":2.449489742783178},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"118":{"tf":1.4142135623730951},"126":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"98":{"tf":1.0}}},".":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"g":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":6,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"108":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"g":{"1":{"6":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"z":{"1":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":23,"docs":{"1":{"tf":1.0},"100":{"tf":1.7320508075688772},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.7320508075688772},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":2.449489742783178},"42":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"92":{"tf":3.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":2.0}}}}},"t":{"df":4,"docs":{"54":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"122":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}}},"df":20,"docs":{"1":{"tf":1.0},"56":{"tf":1.0},"70":{"tf":3.872983346207417},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.4142135623730951},"78":{"tf":2.6457513110645907},"79":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}},"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"v":{"df":1,"docs":{"56":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772}}}},"o":{"df":1,"docs":{"132":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"138":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0}}}}}}},"t":{"_":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":39,"docs":{"108":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"116":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"121":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"92":{"tf":1.7320508075688772}}}},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":1.0}}},"l":{"df":2,"docs":{"26":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}},"i":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":3,"docs":{"13":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"74":{"tf":1.7320508075688772}}}}},"df":3,"docs":{"139":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":9,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"142":{"tf":1.0},"59":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"n":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"106":{"tf":1.0},"42":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":2.0},"70":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":3,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":13,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"37":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"69":{"tf":1.0}}}}},"i":{"c":{"df":1,"docs":{"88":{"tf":1.4142135623730951}}},"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"139":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"116":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":17,"docs":{"10":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"119":{"tf":1.0},"133":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.0}}}}},"t":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0}},"e":{"df":1,"docs":{"30":{"tf":1.0}}}},"z":{"df":0,"docs":{},"e":{"df":5,"docs":{"110":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"69":{"tf":3.3166247903554}}}}},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"55":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":2.449489742783178}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"69":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"u":{"df":1,"docs":{"129":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"111":{"tf":2.449489742783178},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":10,"docs":{"109":{"tf":2.0},"110":{"tf":2.8284271247461903},"111":{"tf":5.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"119":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"o":{"c":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"118":{"tf":1.7320508075688772},"133":{"tf":1.0},"52":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"11":{"tf":1.0},"12":{"tf":1.0},"69":{"tf":2.449489742783178},"87":{"tf":1.7320508075688772},"97":{"tf":1.7320508075688772}}}},"v":{"df":3,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":2.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"98":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"120":{"tf":1.0},"132":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"93":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"121":{"tf":1.0},"133":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":7,"docs":{"111":{"tf":1.0},"133":{"tf":1.4142135623730951},"20":{"tf":1.0},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"59":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"112":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"98":{"tf":1.0}}}},"df":2,"docs":{"144":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"111":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":15,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"21":{"tf":1.7320508075688772},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"111":{"tf":1.7320508075688772},"124":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":3,"docs":{"1":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.7320508075688772}},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"c":{"/":{"0":{"3":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"5":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":2.23606797749979}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"54":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"129":{"tf":1.4142135623730951},"144":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"112":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"76":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"142":{"tf":1.0}}},"t":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"54":{"tf":1.4142135623730951},"75":{"tf":1.0},"86":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":3.1622776601683795},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"125":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"8":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.449489742783178}}}}}}},"i":{"c":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"69":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"u":{"df":4,"docs":{"108":{"tf":1.0},"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"114":{"tf":1.0}}}}},"d":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"141":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"75":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"i":{"df":2,"docs":{"141":{"tf":1.0},"59":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.7320508075688772}},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"_":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}},"df":11,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"143":{"tf":1.0},"92":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"&":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"125":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":2,"docs":{"59":{"tf":1.4142135623730951},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"104":{"tf":1.0},"105":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"55":{"tf":1.4142135623730951},"80":{"tf":2.23606797749979},"86":{"tf":2.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"109":{"tf":1.0},"111":{"tf":3.605551275463989},"112":{"tf":1.0},"116":{"tf":1.7320508075688772},"50":{"tf":1.0},"83":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.0},"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":3,"docs":{"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"54":{"tf":1.0},"84":{"tf":1.0}}}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"=":{"=":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"78":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":8,"docs":{"13":{"tf":1.0},"131":{"tf":1.4142135623730951},"3":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"59":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"o":{"df":5,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"109":{"tf":1.0},"116":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"127":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":2.0},"59":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}},"s":{"df":1,"docs":{"99":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":9,"docs":{"123":{"tf":1.0},"13":{"tf":1.0},"135":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"119":{"tf":1.7320508075688772}}}}}}}},"w":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":2.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"123":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"88":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"55":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"105":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"_":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"111":{"tf":3.0},"112":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"42":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":6,"docs":{"118":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"76":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":2.0}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"55":{"tf":1.0},"59":{"tf":1.7320508075688772},"69":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"137":{"tf":2.0},"36":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"59":{"tf":2.23606797749979},"64":{"tf":1.0},"69":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"88":{"tf":2.23606797749979},"90":{"tf":2.449489742783178},"91":{"tf":2.23606797749979},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":8,"docs":{"107":{"tf":1.0},"119":{"tf":3.1622776601683795},"133":{"tf":1.0},"61":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":5,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.7320508075688772},"13":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"100":{"tf":1.0},"13":{"tf":1.0},"133":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"116":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":9,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":6,"docs":{"106":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772}}}},"x":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"105":{"tf":1.0},"106":{"tf":1.7320508075688772},"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"31":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"3":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"55":{"tf":1.0}}}}}}},"t":{"a":{"df":2,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"q":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":13,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":1,"docs":{"123":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"51":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"98":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"15":{"tf":1.0},"76":{"tf":1.0}}}}}}}}}},"u":{"df":5,"docs":{"100":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"v":{"6":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"7":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"137":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"69":{"tf":1.7320508075688772},"79":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}}},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"8":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"108":{"tf":1.0},"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":2.0}}},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":30,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":2.0},"112":{"tf":1.7320508075688772},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":2.449489742783178},"128":{"tf":2.23606797749979},"133":{"tf":1.0},"141":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":2.0},"90":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"r":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{"0":{"0":{"_":{"df":0,"docs":{},"u":{"1":{"6":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"0":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"3":{"2":{"df":3,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"116":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"0":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"116":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}},"1":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":14,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"102":{"tf":1.7320508075688772},"103":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.449489742783178},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"123":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"131":{"tf":1.0}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"104":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":17,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.7320508075688772}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"p":{"df":9,"docs":{"111":{"tf":1.4142135623730951},"133":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"88":{"tf":1.4142135623730951}},"i":{"c":{"df":8,"docs":{"1":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"130":{"tf":1.7320508075688772},"133":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"124":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"69":{"tf":2.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"106":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":4,"docs":{"144":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"56":{"tf":1.0}}},"k":{"df":6,"docs":{"107":{"tf":1.0},"111":{"tf":1.7320508075688772},"114":{"tf":1.0},"128":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"135":{"tf":1.0},"4":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":2.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"122":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"128":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"85":{"tf":1.0}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"111":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.0},"59":{"tf":1.0}}}},"df":14,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.7320508075688772},"139":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":5,"docs":{"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"100":{"tf":2.0},"101":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}},"y":{"a":{"c":{"df":0,"docs":{},"m":{"0":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"i":{"df":2,"docs":{"59":{"tf":2.449489742783178},"73":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"s":{")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":20,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"111":{"tf":2.449489742783178},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":4.242640687119285},"116":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"98":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":1,"docs":{"93":{"tf":1.0}},"m":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"0":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"108":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}}},"o":{"df":22,"docs":{"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"13":{"tf":1.0},"133":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.7320508075688772},"54":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":2.0},"99":{"tf":1.0}}}},"x":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"78":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"u":{"3":{"2":{"df":1,"docs":{"111":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"8":{"df":3,"docs":{"111":{"tf":2.6457513110645907},"84":{"tf":1.4142135623730951},"93":{"tf":2.0}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":15,"docs":{"122":{"tf":2.0},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":3.605551275463989},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.7320508075688772},"96":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"78":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"78":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"b":{"df":1,"docs":{"59":{"tf":1.0}},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"a":{"d":{"df":0,"docs":{},"m":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"135":{"tf":1.0},"27":{"tf":1.7320508075688772},"34":{"tf":1.0}}}}},"df":1,"docs":{"142":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"73":{"tf":1.0}}},"n":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"36":{"tf":2.0},"54":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"3":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":4,"docs":{"128":{"tf":1.0},"142":{"tf":1.4142135623730951},"42":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"70":{"tf":1.0},"76":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"99":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"116":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":2.0},"69":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":8,"docs":{"119":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"111":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"26":{"tf":1.0},"55":{"tf":1.0}},"e":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":57,"docs":{"102":{"tf":1.0},"106":{"tf":2.23606797749979},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.449489742783178},"64":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"56":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"99":{"tf":1.0}}}},"b":{"df":11,"docs":{"129":{"tf":2.0},"13":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"56":{"tf":2.0},"58":{"tf":1.0},"70":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":98,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"100":{"tf":3.3166247903554},"101":{"tf":3.4641016151377544},"102":{"tf":4.123105625617661},"103":{"tf":3.872983346207417},"104":{"tf":3.4641016151377544},"105":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":3.0},"109":{"tf":3.1622776601683795},"11":{"tf":1.4142135623730951},"111":{"tf":3.3166247903554},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"114":{"tf":3.0},"115":{"tf":2.6457513110645907},"116":{"tf":4.69041575982343},"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":2.23606797749979},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"133":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":2.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":4.123105625617661},"61":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":2.0},"64":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":2.449489742783178},"68":{"tf":2.449489742783178},"69":{"tf":2.6457513110645907},"70":{"tf":2.8284271247461903},"73":{"tf":2.449489742783178},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":3.3166247903554},"8":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":3.0},"84":{"tf":2.6457513110645907},"86":{"tf":3.0},"87":{"tf":2.8284271247461903},"88":{"tf":2.6457513110645907},"89":{"tf":1.0},"9":{"tf":1.7320508075688772},"93":{"tf":3.1622776601683795},"94":{"tf":1.0},"95":{"tf":3.872983346207417},"97":{"tf":3.4641016151377544},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"129":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"111":{"tf":3.0},"69":{"tf":1.4142135623730951}},"e":{"]":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"0":{"tf":1.0},"129":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.4142135623730951},"70":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"v":{"0":{".":{"1":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{"1":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"3":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"'":{"df":1,"docs":{"78":{"tf":1.0}}},".":{"0":{".":{"0":{"df":1,"docs":{"137":{"tf":1.0}}},"3":{"9":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":32,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":1.7320508075688772}}},"2":{"df":36,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"114":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"56":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":2.449489742783178},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":2.0},"84":{"tf":2.0},"86":{"tf":2.0},"87":{"tf":2.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":2.0},"97":{"tf":2.23606797749979}}},"a":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":3.4641016151377544},"112":{"tf":2.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"59":{"tf":2.0},"95":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"]":{"[":{"c":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"111":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":2.23606797749979},"29":{"tf":1.0},"59":{"tf":2.0},"63":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"110":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":2,"docs":{"104":{"tf":1.0},"116":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"20":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":3,"docs":{"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"55":{"tf":1.4142135623730951}},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"8":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":2.0}}}},"df":1,"docs":{"104":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}},"i":{"df":12,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":8,"docs":{"29":{"tf":1.0},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"109":{"tf":2.23606797749979},"16":{"tf":3.0},"18":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":3.0},"68":{"tf":1.0},"77":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"i":{"a":{"df":14,"docs":{"111":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.7320508075688772},"58":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":1,"docs":{"38":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":4,"docs":{"106":{"tf":1.0},"59":{"tf":2.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"135":{"tf":1.0},"20":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}}},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"84":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.0},"59":{"tf":2.0},"69":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.7320508075688772},"80":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}},"y":{"df":18,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.7320508075688772},"83":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"100":{"tf":1.0},"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.7320508075688772},"41":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"98":{"tf":1.0}}}},"r":{"df":2,"docs":{"109":{"tf":1.0},"66":{"tf":1.0}}},"v":{"df":1,"docs":{"67":{"tf":1.0}}}},"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"106":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":15,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"120":{"tf":1.0}}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":24,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"3":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"100":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"11":{"tf":1.0},"116":{"tf":1.0},"129":{"tf":1.0},"7":{"tf":1.0}}},"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"111":{"tf":1.4142135623730951},"114":{"tf":1.0},"13":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}}}},"o":{"_":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"i":{"_":{"a":{"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"102":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"80":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"11":{"tf":1.0},"88":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"1":{"tf":1.0},"124":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":8,"docs":{"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"111":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"93":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"55":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"104":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"8":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}},"r":{"d":{"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":39,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"36":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.7320508075688772},"8":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":10,"docs":{"0":{"tf":1.0},"123":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"111":{"tf":1.0},"13":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"70":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"111":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"83":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":19,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0},"98":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"127":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"95":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"135":{"tf":1.0},"49":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"98":{"tf":1.0}}}}}}},"x":{"/":{"4":{"df":0,"docs":{},"x":{"b":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"142":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"f":{"df":1,"docs":{"26":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"3":{"2":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"111":{"tf":1.4142135623730951}}}}}}}}},"y":{"df":1,"docs":{"100":{"tf":1.0}}}},"y":{"df":9,"docs":{"100":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"104":{"tf":2.6457513110645907},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"59":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}},"df":1,"docs":{"106":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"73":{"tf":1.0},"75":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}},"r":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}}}}}},"z":{"df":7,"docs":{"104":{"tf":2.6457513110645907},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"74":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"1":{"0":{"df":1,"docs":{"23":{"tf":1.0}}},"df":2,"docs":{"100":{"tf":1.0},"101":{"tf":1.0}}},"2":{"0":{".":{"0":{"4":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"102":{"tf":1.0},"103":{"tf":1.0}}},"3":{"2":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"122":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"c":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"2":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":3,"docs":{"29":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"144":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"65":{"tf":1.0},"67":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"51":{"tf":1.4142135623730951},"72":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"40":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"78":{"tf":1.0},"84":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":7,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":1,"docs":{"11":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"107":{"tf":1.0},"68":{"tf":1.0},"96":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"129":{"tf":1.0},"70":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"98":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"141":{"tf":1.0},"145":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"137":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"137":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":1,"docs":{"127":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.0}}}},"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"139":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"m":{"a":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"85":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"19":{"tf":1.0},"36":{"tf":1.0}},"e":{"d":{"df":5,"docs":{"118":{"tf":1.0},"130":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}},"n":{"d":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"56":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}}}}}},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0}}}}},"d":{"b":{"df":2,"docs":{"138":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"130":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":1.0},"89":{"tf":1.0}}}}},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"131":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"61":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"50":{"tf":1.0}},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}},"i":{"2":{"c":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"37":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}}}}}}}},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"98":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"60":{"tf":1.0},"63":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"110":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"143":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"3":{"0":{"3":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"0":{"df":1,"docs":{"46":{"tf":1.0}}},"4":{"df":1,"docs":{"44":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"104":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"112":{"tf":1.0},"115":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.0},"121":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"73":{"tf":1.0},"74":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"38":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"119":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"81":{"tf":1.0},"82":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"71":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"116":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":1,"docs":{"29":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"f":{"5":{"1":{"8":{"2":{"2":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"45":{"tf":1.0}}},"2":{"8":{"3":{"3":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":1,"docs":{"105":{"tf":1.0}},"s":{"df":1,"docs":{"21":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}},"p":{"a":{"c":{"df":1,"docs":{"49":{"tf":1.0}},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"144":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"124":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"m":{"df":1,"docs":{"124":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"53":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"128":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"130":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"t":{"c":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"27":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"78":{"tf":1.0},"80":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"133":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"o":{"df":1,"docs":{"132":{"tf":1.0}}}}},"t":{"df":1,"docs":{"14":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"78":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"97":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"80":{"tf":1.0},"86":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}}}}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"100":{"tf":1.0},"102":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"64":{"tf":1.0},"79":{"tf":1.0},"94":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"128":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"134":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"s":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"138":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}}}},"v":{"1":{"df":1,"docs":{"45":{"tf":1.0}}},"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"117":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"124":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"28":{"tf":1.0},"75":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"58":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"81":{"tf":1.0},"83":{"tf":1.0}}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file diff --git a/microbit/tomorrow-night.css b/microbit/tomorrow-night.css new file mode 100644 index 000000000..81fe276e7 --- /dev/null +++ b/microbit/tomorrow-night.css @@ -0,0 +1,102 @@ +/* Tomorrow Night Theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-attribute, +.hljs-tag, +.hljs-regexp, +.ruby .hljs-constant, +.xml .hljs-tag .hljs-title, +.xml .hljs-pi, +.xml .hljs-doctype, +.html .hljs-doctype, +.css .hljs-id, +.css .hljs-class, +.css .hljs-pseudo { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-preprocessor, +.hljs-pragma, +.hljs-built_in, +.hljs-literal, +.hljs-params, +.hljs-constant { + color: #de935f; +} + +/* Tomorrow Yellow */ +.ruby .hljs-class .hljs-title, +.css .hljs-rule .hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-value, +.hljs-inheritance, +.hljs-header, +.hljs-name, +.ruby .hljs-symbol, +.xml .hljs-cdata { + color: #b5bd68; +} + +/* Tomorrow Aqua */ +.hljs-title, +.css .hljs-hexcolor { + color: #8abeb7; +} + +/* Tomorrow Blue */ +.hljs-function, +.python .hljs-decorator, +.python .hljs-title, +.ruby .hljs-function .hljs-title, +.ruby .hljs-title .hljs-keyword, +.perl .hljs-sub, +.javascript .hljs-title, +.coffeescript .hljs-title { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.javascript .hljs-function { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; +} + +.coffeescript .javascript, +.javascript .xml, +.tex .hljs-formula, +.xml .javascript, +.xml .vbscript, +.xml .css, +.xml .hljs-cdata { + opacity: 0.5; +} + +.hljs-addition { + color: #718c00; +} + +.hljs-deletion { + color: #c82829; +} diff --git a/print.html b/print.html new file mode 100644 index 000000000..d2b0713f8 --- /dev/null +++ b/print.html @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Discovery

+

Discover the world of microcontrollers through Rust!

+

There are currently two versions of this book. The first is older and uses an +F3 Discovery circuit board to introduce you to microcontrollers and Rust, while +the second is newer and uses a micro:bit circuit board instead.

+ +

Translations

+

This book has been translated by generous volunteers. If you would like your +translation listed here, please open a PR to add it.

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + +
+ + diff --git a/searcher.js b/searcher.js new file mode 100644 index 000000000..dc03e0a02 --- /dev/null +++ b/searcher.js @@ -0,0 +1,483 @@ +"use strict"; +window.search = window.search || {}; +(function search(search) { + // Search functionality + // + // You can use !hasFocus() to prevent keyhandling in your key + // event handlers while the user is typing their search. + + if (!Mark || !elasticlunr) { + return; + } + + //IE 11 Compatibility from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + if (!String.prototype.startsWith) { + String.prototype.startsWith = function(search, pos) { + return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; + }; + } + + var search_wrap = document.getElementById('search-wrapper'), + searchbar = document.getElementById('searchbar'), + searchbar_outer = document.getElementById('searchbar-outer'), + searchresults = document.getElementById('searchresults'), + searchresults_outer = document.getElementById('searchresults-outer'), + searchresults_header = document.getElementById('searchresults-header'), + searchicon = document.getElementById('search-toggle'), + content = document.getElementById('content'), + + searchindex = null, + doc_urls = [], + results_options = { + teaser_word_count: 30, + limit_results: 30, + }, + search_options = { + bool: "AND", + expand: true, + fields: { + title: {boost: 1}, + body: {boost: 1}, + breadcrumbs: {boost: 0} + } + }, + mark_exclude = [], + marker = new Mark(content), + current_searchterm = "", + URL_SEARCH_PARAM = 'search', + URL_MARK_PARAM = 'highlight', + teaser_count = 0, + + SEARCH_HOTKEY_KEYCODE = 83, + ESCAPE_KEYCODE = 27, + DOWN_KEYCODE = 40, + UP_KEYCODE = 38, + SELECT_KEYCODE = 13; + + function hasFocus() { + return searchbar === document.activeElement; + } + + function removeChildren(elem) { + while (elem.firstChild) { + elem.removeChild(elem.firstChild); + } + } + + // Helper to parse a url into its building blocks. + function parseURL(url) { + var a = document.createElement('a'); + a.href = url; + return { + source: url, + protocol: a.protocol.replace(':',''), + host: a.hostname, + port: a.port, + params: (function(){ + var ret = {}; + var seg = a.search.replace(/^\?/,'').split('&'); + var len = seg.length, i = 0, s; + for (;i': '>', + '"': '"', + "'": ''' + }; + var repl = function(c) { return MAP[c]; }; + return function(s) { + return s.replace(/[&<>'"]/g, repl); + }; + })(); + + function formatSearchMetric(count, searchterm) { + if (count == 1) { + return count + " search result for '" + searchterm + "':"; + } else if (count == 0) { + return "No search results for '" + searchterm + "'."; + } else { + return count + " search results for '" + searchterm + "':"; + } + } + + function formatSearchResult(result, searchterms) { + var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms); + teaser_count++; + + // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor + var url = doc_urls[result.ref].split("#"); + if (url.length == 1) { // no anchor found + url.push(""); + } + + // encodeURIComponent escapes all chars that could allow an XSS except + // for '. Due to that we also manually replace ' with its url-encoded + // representation (%27). + var searchterms = encodeURIComponent(searchterms.join(" ")).replace(/\'/g, "%27"); + + return '' + result.doc.breadcrumbs + '' + + '' + + teaser + ''; + } + + function makeTeaser(body, searchterms) { + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in . + var stemmed_searchterms = searchterms.map(function(w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var searchterm_weight = 40; + var weighted = []; // contains elements of ["word", weight, index_in_document] + // split in sentences, then words + var sentences = body.toLowerCase().split('. '); + var index = 0; + var value = 0; + var searchterm_found = false; + for (var sentenceindex in sentences) { + var words = sentences[sentenceindex].split(' '); + value = 8; + for (var wordindex in words) { + var word = words[wordindex]; + if (word.length > 0) { + for (var searchtermindex in stemmed_searchterms) { + if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) { + value = searchterm_weight; + searchterm_found = true; + } + }; + weighted.push([word, value, index]); + value = 2; + } + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + }; + index += 1; // because we split at a two-char boundary '. ' + }; + + if (weighted.length == 0) { + return body; + } + + var window_weight = []; + var window_size = Math.min(weighted.length, results_options.teaser_word_count); + + var cur_sum = 0; + for (var wordindex = 0; wordindex < window_size; wordindex++) { + cur_sum += weighted[wordindex][1]; + }; + window_weight.push(cur_sum); + for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) { + cur_sum -= weighted[wordindex][1]; + cur_sum += weighted[wordindex + window_size][1]; + window_weight.push(cur_sum); + }; + + if (searchterm_found) { + var max_sum = 0; + var max_sum_window_index = 0; + // backwards + for (var i = window_weight.length - 1; i >= 0; i--) { + if (window_weight[i] > max_sum) { + max_sum = window_weight[i]; + max_sum_window_index = i; + } + }; + } else { + max_sum_window_index = 0; + } + + // add around searchterms + var teaser_split = []; + var index = weighted[max_sum_window_index][2]; + for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) { + var word = weighted[i]; + if (index < word[2]) { + // missing text from index to start of `word` + teaser_split.push(body.substring(index, word[2])); + index = word[2]; + } + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + index = word[2] + word[0].length; + teaser_split.push(body.substring(word[2], index)); + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + }; + + return teaser_split.join(''); + } + + function init(config) { + results_options = config.results_options; + search_options = config.search_options; + searchbar_outer = config.searchbar_outer; + doc_urls = config.doc_urls; + searchindex = elasticlunr.Index.load(config.index); + + // Set up events + searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false); + searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false); + document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false); + // If the user uses the browser buttons, do the same as if a reload happened + window.onpopstate = function(e) { doSearchOrMarkFromUrl(); }; + // Suppress "submit" events so the page doesn't reload when the user presses Enter + document.addEventListener('submit', function(e) { e.preventDefault(); }, false); + + // If reloaded, do the search or mark again, depending on the current url parameters + doSearchOrMarkFromUrl(); + } + + function unfocusSearchbar() { + // hacky, but just focusing a div only works once + var tmp = document.createElement('input'); + tmp.setAttribute('style', 'position: absolute; opacity: 0;'); + searchicon.appendChild(tmp); + tmp.focus(); + tmp.remove(); + } + + // On reload or browser history backwards/forwards events, parse the url and do search or mark + function doSearchOrMarkFromUrl() { + // Check current URL for search request + var url = parseURL(window.location.href); + if (url.params.hasOwnProperty(URL_SEARCH_PARAM) + && url.params[URL_SEARCH_PARAM] != "") { + showSearch(true); + searchbar.value = decodeURIComponent( + (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20')); + searchbarKeyUpHandler(); // -> doSearch() + } else { + showSearch(false); + } + + if (url.params.hasOwnProperty(URL_MARK_PARAM)) { + var words = decodeURIComponent(url.params[URL_MARK_PARAM]).split(' '); + marker.mark(words, { + exclude: mark_exclude + }); + + var markers = document.querySelectorAll("mark"); + function hide() { + for (var i = 0; i < markers.length; i++) { + markers[i].classList.add("fade-out"); + window.setTimeout(function(e) { marker.unmark(); }, 300); + } + } + for (var i = 0; i < markers.length; i++) { + markers[i].addEventListener('click', hide); + } + } + } + + // Eventhandler for keyevents on `document` + function globalKeyHandler(e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text' || !hasFocus() && /^(?:input|select|textarea)$/i.test(e.target.nodeName)) { return; } + + if (e.keyCode === ESCAPE_KEYCODE) { + e.preventDefault(); + searchbar.classList.remove("active"); + setSearchUrlParameters("", + (searchbar.value.trim() !== "") ? "push" : "replace"); + if (hasFocus()) { + unfocusSearchbar(); + } + showSearch(false); + marker.unmark(); + } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) { + e.preventDefault(); + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) { + e.preventDefault(); + unfocusSearchbar(); + searchresults.firstElementChild.classList.add("focus"); + } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE + || e.keyCode === UP_KEYCODE + || e.keyCode === SELECT_KEYCODE)) { + // not `:focus` because browser does annoying scrolling + var focused = searchresults.querySelector("li.focus"); + if (!focused) return; + e.preventDefault(); + if (e.keyCode === DOWN_KEYCODE) { + var next = focused.nextElementSibling; + if (next) { + focused.classList.remove("focus"); + next.classList.add("focus"); + } + } else if (e.keyCode === UP_KEYCODE) { + focused.classList.remove("focus"); + var prev = focused.previousElementSibling; + if (prev) { + prev.classList.add("focus"); + } else { + searchbar.select(); + } + } else { // SELECT_KEYCODE + window.location.assign(focused.querySelector('a')); + } + } + } + + function showSearch(yes) { + if (yes) { + search_wrap.classList.remove('hidden'); + searchicon.setAttribute('aria-expanded', 'true'); + } else { + search_wrap.classList.add('hidden'); + searchicon.setAttribute('aria-expanded', 'false'); + var results = searchresults.children; + for (var i = 0; i < results.length; i++) { + results[i].classList.remove("focus"); + } + } + } + + function showResults(yes) { + if (yes) { + searchresults_outer.classList.remove('hidden'); + } else { + searchresults_outer.classList.add('hidden'); + } + } + + // Eventhandler for search icon + function searchIconClickHandler() { + if (search_wrap.classList.contains('hidden')) { + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else { + showSearch(false); + } + } + + // Eventhandler for keyevents while the searchbar is focused + function searchbarKeyUpHandler() { + var searchterm = searchbar.value.trim(); + if (searchterm != "") { + searchbar.classList.add("active"); + doSearch(searchterm); + } else { + searchbar.classList.remove("active"); + showResults(false); + removeChildren(searchresults); + } + + setSearchUrlParameters(searchterm, "push_if_new_search_else_replace"); + + // Remove marks + marker.unmark(); + } + + // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor . + // `action` can be one of "push", "replace", "push_if_new_search_else_replace" + // and replaces or pushes a new browser history item. + // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet. + function setSearchUrlParameters(searchterm, action) { + var url = parseURL(window.location.href); + var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM); + if (searchterm != "" || action == "push_if_new_search_else_replace") { + url.params[URL_SEARCH_PARAM] = searchterm; + delete url.params[URL_MARK_PARAM]; + url.hash = ""; + } else { + delete url.params[URL_MARK_PARAM]; + delete url.params[URL_SEARCH_PARAM]; + } + // A new search will also add a new history item, so the user can go back + // to the page prior to searching. A updated search term will only replace + // the url. + if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) { + history.pushState({}, document.title, renderURL(url)); + } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) { + history.replaceState({}, document.title, renderURL(url)); + } + } + + function doSearch(searchterm) { + + // Don't search the same twice + if (current_searchterm == searchterm) { return; } + else { current_searchterm = searchterm; } + + if (searchindex == null) { return; } + + // Do the actual search + var results = searchindex.search(searchterm, search_options); + var resultcount = Math.min(results.length, results_options.limit_results); + + // Display search metrics + searchresults_header.innerText = formatSearchMetric(resultcount, searchterm); + + // Clear and insert results + var searchterms = searchterm.split(' '); + removeChildren(searchresults); + for(var i = 0; i < resultcount ; i++){ + var resultElem = document.createElement('li'); + resultElem.innerHTML = formatSearchResult(results[i], searchterms); + searchresults.appendChild(resultElem); + } + + // Display results + showResults(true); + } + + fetch(path_to_root + 'searchindex.json') + .then(response => response.json()) + .then(json => init(json)) + .catch(error => { // Try to load searchindex.js if fetch failed + var script = document.createElement('script'); + script.src = path_to_root + 'searchindex.js'; + script.onload = () => init(window.search); + document.head.appendChild(script); + }); + + // Exported functions + search.hasFocus = hasFocus; +})(window.search); diff --git a/searchindex.js b/searchindex.js new file mode 100644 index 000000000..ab453b8aa --- /dev/null +++ b/searchindex.js @@ -0,0 +1 @@ +Object.assign(window.search, {"doc_urls":["index.html#discovery","index.html#translations"],"index":{"documentStore":{"docInfo":{"0":{"body":74,"breadcrumbs":3,"title":1},"1":{"body":18,"breadcrumbs":3,"title":1}},"docs":{"0":{"body":"Discover the world of microcontrollers through Rust ! There are currently two versions of this book. The first is older and uses an F3 Discovery circuit board to introduce you to microcontrollers and Rust, while the second is newer and uses a micro:bit circuit board instead. Read the newer book, using a micro:bit Read the older book, using an F3 discovery board Start working on the examples from this repository You've got questions? Have a look at our discussions section on GitHub Maybe it has already been answered If not, start a new discussion You've found an issue? Have a look at our issues on GitHub Maybe there is already a workaround If not, please open a new one - or even better - a pull request for solving it Have fun and enjoy!","breadcrumbs":"Choose Your Discovery » Discovery","id":"0","title":"Discovery"},"1":{"body":"This book has been translated by generous volunteers. If you would like your translation listed here, please open a PR to add it. Japanese ( repository ) Chinese ( repository ) Portuguese (Brazilian) ( repository )","breadcrumbs":"Choose Your Discovery » Translations","id":"1","title":"Translations"}},"length":2,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"a":{"d":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"f":{"3":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"j":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"0":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}}},"r":{"df":1,"docs":{"1":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"0":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":2.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"a":{"d":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"f":{"3":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"j":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"0":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}}},"r":{"df":1,"docs":{"1":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"0":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":2.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"title":{"root":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/searchindex.json b/searchindex.json new file mode 100644 index 000000000..9534b8c8c --- /dev/null +++ b/searchindex.json @@ -0,0 +1 @@ +{"doc_urls":["index.html#discovery","index.html#translations"],"index":{"documentStore":{"docInfo":{"0":{"body":74,"breadcrumbs":3,"title":1},"1":{"body":18,"breadcrumbs":3,"title":1}},"docs":{"0":{"body":"Discover the world of microcontrollers through Rust ! There are currently two versions of this book. The first is older and uses an F3 Discovery circuit board to introduce you to microcontrollers and Rust, while the second is newer and uses a micro:bit circuit board instead. Read the newer book, using a micro:bit Read the older book, using an F3 discovery board Start working on the examples from this repository You've got questions? Have a look at our discussions section on GitHub Maybe it has already been answered If not, start a new discussion You've found an issue? Have a look at our issues on GitHub Maybe there is already a workaround If not, please open a new one - or even better - a pull request for solving it Have fun and enjoy!","breadcrumbs":"Choose Your Discovery » Discovery","id":"0","title":"Discovery"},"1":{"body":"This book has been translated by generous volunteers. If you would like your translation listed here, please open a PR to add it. Japanese ( repository ) Chinese ( repository ) Portuguese (Brazilian) ( repository )","breadcrumbs":"Choose Your Discovery » Translations","id":"1","title":"Translations"}},"length":2,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"a":{"d":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"f":{"3":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"j":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"0":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}}},"r":{"df":1,"docs":{"1":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"0":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":2.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"a":{"d":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"f":{"3":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"j":{"a":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"0":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}}},"r":{"df":1,"docs":{"1":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"0":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":2.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"title":{"root":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file diff --git a/tomorrow-night.css b/tomorrow-night.css new file mode 100644 index 000000000..81fe276e7 --- /dev/null +++ b/tomorrow-night.css @@ -0,0 +1,102 @@ +/* Tomorrow Night Theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-attribute, +.hljs-tag, +.hljs-regexp, +.ruby .hljs-constant, +.xml .hljs-tag .hljs-title, +.xml .hljs-pi, +.xml .hljs-doctype, +.html .hljs-doctype, +.css .hljs-id, +.css .hljs-class, +.css .hljs-pseudo { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-preprocessor, +.hljs-pragma, +.hljs-built_in, +.hljs-literal, +.hljs-params, +.hljs-constant { + color: #de935f; +} + +/* Tomorrow Yellow */ +.ruby .hljs-class .hljs-title, +.css .hljs-rule .hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-value, +.hljs-inheritance, +.hljs-header, +.hljs-name, +.ruby .hljs-symbol, +.xml .hljs-cdata { + color: #b5bd68; +} + +/* Tomorrow Aqua */ +.hljs-title, +.css .hljs-hexcolor { + color: #8abeb7; +} + +/* Tomorrow Blue */ +.hljs-function, +.python .hljs-decorator, +.python .hljs-title, +.ruby .hljs-function .hljs-title, +.ruby .hljs-title .hljs-keyword, +.perl .hljs-sub, +.javascript .hljs-title, +.coffeescript .hljs-title { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.javascript .hljs-function { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; +} + +.coffeescript .javascript, +.javascript .xml, +.tex .hljs-formula, +.xml .javascript, +.xml .vbscript, +.xml .css, +.xml .hljs-cdata { + opacity: 0.5; +} + +.hljs-addition { + color: #718c00; +} + +.hljs-deletion { + color: #c82829; +}